Git Product home page Git Product logo

snowflake-jdbc's Introduction

Snowflake JDBC Driver

image

image

image

Snowflake provides a JDBC type 4 driver that supports core functionality, allowing Java program to connect to Snowflake.

Prerequisites

The Snowflake JDBC driver requires Java 1.8 or higher. If the minimum required version of Java is not installed on the client machines where the JDBC driver is installed, you must install either Oracle Java or OpenJDK.

Installation

Maven

Add following code block as a dependency

<dependency>
  <groupId>net.snowflake</groupId>
  <artifactId>snowflake-jdbc</artifactId>
  <version>{version}</version>
</dependency>

Build from Source Code

  1. Checkout source code from Github by running:
git clone https://github.com/snowflakedb/snowflake-jdbc.git
  1. Build the driver by running:
mvn install

Usage

Load Driver Class

Class.forName("net.snowflake.client.jdbc.SnowflakeDriver")

Datasource

javax.sql.DataSource interface is implemented by class

net.snowflake.client.jdbc.SnowflakeBasicDataSource

Connection String

US(West) Region:

jdbc:snowflake://<account>.snowflakecomputing.com/?<connection_params>

EU(Frankfurt) Region:

jdbc:snowflake://<account>.eu-central-1.snowflakecomputing.com/?<connection_params>

Documentation

For detailed documentation, please refer to https://docs.snowflake.net/manuals/user-guide/jdbc.html

Development

Run the maven command to check the coding style.

mvn -P check-style verify

Follow the instruction if any error occurs or run this command to fix the formats.

mvn com.coveo:fmt-maven-plugin:format

You may import the coding style from IntelliJ so that the coding style can be applied on IDE:

  • In the File -> Settings/Plugins, and install google-java-format plugin.
  • Enable google-java-format for the JDBC project.
  • In the source code window, select Code -> Reformat to apply the coding style.

Tests

Run Tests

Set the environment variables to specify the target database.

export SNOWFLAKE_TEST_HOST=<your_host>
export SNOWFLAKE_TEST_ACCOUNT=<your_account>
export SNOWFLAKE_TEST_USER=<your_user>
export SNOWFLAKE_TEST_PASSWORD=<your_password>
export SNOWFLAKE_TEST_DATABASE=<your_database>
export SNOWFLAKE_TEST_SCHEMA=<your_schema>
export SNOWFLAKE_TEST_WAREHOUSE=<your_warehouse>
export SNOWFLAKE_TEST_ROLE=<your_role>

Run the maven verify goal.

mvn -DjenkinsIT -DtestCategory=net.snowflake.client.category.<category> verify

where category is the class name under the package net.snowflake.client.category.

Test Class Naming Convention

The test cases are fallen into a couple of criteria:

  • The unit test class names end with Test. They run part of the JDBC build jobs.
  • The integration test class names end with IT. They run part of the verify maven goal along with the test category specified by the parameter testCategory having net.snowflake.client.category classes.
  • The manual test class names end with Manual. They don't run in the CI but you can run them manually.

Aside from the general test criteria, the test case class names ending with LatestIT run only with the latest JDBC driver. The main motivation behind is to skip those tests for the old JDBC driver. See ./TestOnly directory for further information.

Support

Feel free to file an issue or submit a PR here for general cases. For official support, contact Snowflake support at: https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge

snowflake-jdbc's People

Contributors

sfc-gh-stakeda avatar howryu avatar smtakeda avatar sfc-gh-mknister avatar sfc-gh-wshangguan avatar sfc-gh-ema avatar sfc-gh-ext-simba-lb avatar sfc-gh-abhatnagar avatar sfc-gh-vreddy avatar sfc-gh-kdama avatar simbagithub avatar sfc-gh-jfan avatar sfc-gh-zli avatar sfc-gh-snyk-sca-sa avatar sfc-gh-igarish avatar sfc-gh-hchaturvedi avatar sfc-gh-mrui avatar dependabot[bot] avatar sfc-gh-mkeller avatar sfc-gh-kbhatia avatar sfc-gh-mnaides avatar sfc-gh-skumbham avatar snyk-bot avatar sfc-gh-azhan avatar sfc-gh-tzhang avatar sfc-gh-wfateem avatar sfc-gh-mmacintyre avatar sfc-gh-bsu avatar sfc-gh-dyoshinaga avatar sfc-gh-hyu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.