JDBC ドライバーのダウンロード/統合¶
JDBC ドライバー(snowflake-jdbc
)は JAR ファイルとして提供され、Mavenのアーティファクトとしてダウンロードしたり、Javaベースのプロジェクトに直接統合したりできます。
ドライバーをダウンロードまたは統合する前に、現在使用しているドライバーのバージョンを最初に確認することをお勧めします。ドライバーのバージョンを確認するには、ドライバーを使用するクライアントアプリケーションを介してSnowflakeに接続し、ドライバーのバージョンを確認します。アプリケーションが SQL クエリの実行をサポートしている場合、 CURRENT_CLIENT 関数を呼び出してこれを確認できます。
このトピックの内容:
要件¶
Snowflakeクライアントでサポートされているオペレーティングシステムのリストについては、 オペレーティングシステムのサポート をご参照ください。
ドライバーのダウンロード¶
ドライバーをダウンロードするには:
Maven Central Repositoryにアクセスします。
必要なバージョンのディレクトリをクリックします。
最新バージョン(3.13.33)が常にリストの最後にあるとは限りません。バージョンは、数値ではなく、 アルファベット順 にリストされています。たとえば、3.10.xは3.9.xではなく、3.1.xの後になります。
snowflake-jdbc-#.#.#.jar
ファイルをダウンロードします。注釈
必要に応じて、次のコマンドを入力して、 JDBC ドライバーのバージョンを確認できます。
java -jar snowflake-jdbc-#.#.#.jar --version
。ここで、#.#.#
は、ダウンロードしたファイル名のバージョン番号と一致します。ドライバーパッケージの署名を確認する 場合は、
snowflake-jdbc-#.#.#.jar.asc
ファイルをダウンロードします。
ドライバーパッケージの署名の確認 --- オプション¶
JDBC ドライバーパッケージの署名を確認するには、
公開キーサーバーから、使用している JDBC ドライバーのバージョンのSnowflake GPG 公開キーをダウンロードしてインポートします。
バージョン3.13.23以上の場合:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 630D9F3CAB551AF3
バージョン3.12.13から3.13.22までの場合:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 37C7086698CB005C
バージョン3.6.26から3.12.12までの場合:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys EC218558EABB25A1
バージョン3.6.25以下の場合:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 93DB296A69BE019A
注釈
このコマンドが次のエラーを発生して失敗した場合、
gpg: keyserver receive failed: Server indicated a failure
次に、キーサーバーにポート80を使用することを指定します。
gpg --keyserver hkp://keyserver.ubuntu.com:80 ...
gpg --verify
コマンドを実行して、パッケージの署名を確認します。--verify
コマンドラインフラグには、署名ファイルとして 以前にダウンロード した.asc
ファイルを指定し、署名済みデータを含むファイルとして JAR ファイルを指定します。例:
$ gpg --verify snowflake-jdbc-3.13.33.jar.asc snowflake-jdbc-3.13.33.jar gpg: Signature made Wed 22 Feb 2017 04:31:58 PM UTC using RSA key ID <gpg_key_id> gpg: Good signature from "Snowflake Computing <snowflake_gpg@snowflake.net>"
確認する JDBC ドライバーパッケージの正しいバージョン番号を指定します。この例では、バージョン 3.13.33 は説明のみを目的として使用されています。ドライバーの最新の利用可能なバージョンはそれ以上の場合があります。
注釈
署名を確認すると、次のような警告が生成されます。
gpg: Signature made Mon 24 Sep 2018 03:03:45 AM UTC using RSA key ID <gpg_key_id> gpg: Good signature from "Snowflake Computing <snowflake_gpg@snowflake.net>" unknown gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner.
警告を回避するために、Snowflake GPG 公開キーの暗黙的な信頼を付与できます。
ローカル環境には複数の GPG キーを含めることができます。ただし、セキュリティ上の理由から、Snowflakeは定期的に公開 GPG キーをローテーションします。ベストプラクティスとして、最新の署名済みパッケージで最新のキーが機能することを確認した後、既存の公開キーを削除することをお勧めします。
$ gpg --delete-key "Snowflake Computing"
Mavenプロジェクトへのドライバーの統合¶
ドライバーをMavenプロジェクトに統合するには、ドライバーを依存関係として pom.xml
ファイルに追加します。例:
<dependencies> ... <dependency> <groupId>net.snowflake</groupId> <artifactId>snowflake-jdbc</artifactId> <version>3.13.33</version> </dependency> ... </dependencies>
<バージョン>
タグは、統合するドライバーのバージョンを指定します。この例では、バージョン 3.13.33 は説明目的でのみ使用されています。ドライバーの最新の利用可能なバージョンはそれ以上の場合があります。
開発者ノートは、ソースコードとともに GitHub でホストされています。
クラスパスへの JNA クラスの追加¶
ブラウザーベースの SSO の接続キャッシュ と 多要素認証(MFA)のトークンキャッシュ には、ファイルシステムにデータを安全に保存するために Java Native Access(JNA)クラス を使用する必要があります。
JDBC ドライバーのバージョン3.12.18以降、 JNA クラスは JDBC ドライバー JAR ファイルにパッケージ化されなくなりました。JDBC ドライバー pom.xml
ファイルでは、これらのクラスへの依存関係はオプションとしてマークされています。
接続キャッシュまたはトークンキャッシュを使用する必要がある場合は、次のライブラリをクラスパスに追加する必要があります。
MacおよびLinuxの場合:
Windowsの場合:
The pom.xml
file for the JDBC Driver specifies the version of the JNA classes that have been tested with the JDBC Driver.
(Refer to the JDBC Driver page in the Maven Central Repository.) We recommend using this version (or the same major version) of
the JNA classes.
注釈
AArch64アーキテクチャを使用するシステム(例: Apple M1)の場合は、 JNA ライブラリのバージョン5.7.0以降を使用します。(v5.7.0より前の JNA バージョンは、AArch64で実行されるWindowsおよび macOS システムと非互換。)