CData JDBC Driver for Snowflake はじめに:インストールから接続まで

CData JDBC Driver for Snowflake のインストール、ライセンス認証、接続設定の完全ガイドです。


このガイドでは、CData JDBC Driver for Snowflake を使い始めるために必要な情報をすべて説明します。ドライバーのインストール方法とライセンス認証の手順から、最初の接続設定、そして Java アプリケーションで Snowflake のデータ を活用するための次のステップまでをご紹介します。

Snowflake データ連携について

CData は、Snowflake のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • Snowflake データを迅速かつ効率的に読み書きできます。
  • 指定された Warehouse、Database、Schema のメタデータを動的に取得できます。
  • OAuth、OKTA、Azure AD、Azure マネージド サービス ID、PingFederate、秘密鍵など、さまざまな方法で認証できます。

多くの CData ユーザーは、CData ソリューションを使用して、お気に入りのツールやアプリケーションから Snowflake にアクセスし、さまざまなシステムからデータを Snowflake にレプリケートして、包括的なウェアハウジングと分析を行っています。

CData ソリューションとの Snowflake 統合についての詳細は、ブログをご覧ください:https://jp.cdata.com/blog/snowflake-integrations


はじめに


インストールとライセンス

ドライバーのインストール

  1. CData の Web サイトから JDBC ドライバーのインストーラーをダウンロードします。
  2. インストーラーを実行し、インストールウィザードに従って進めます。
  3. ドライバーは次の場所にインストールされます: C:\Program Files\CData\CData JDBC Driver for Snowflake 20xx\lib\
  4. JAR ファイルの名前は cdata.jdbc.snowflake.jar です。

インストールが完了したら、IDE やビルドツールを使用して、JAR ファイルを Java プロジェクトのクラスパスに追加できます。


ライセンスの有効化

CData Orders チームから送付されたメールでライセンスキーをお持ちのはずです。英数字のライセンスキーは次のような形式です:

XXXX-XXXX-XXXX-XXXX-XXXX
Windows

Windows では、主なライセンス認証方法はライセンスファイルによる方法です。JDBC ドライバーをインストールすると、ライセンスファイルが自動的に作成され、ドライバーのインストールディレクトリに保存されます。アプリケーションで JAR がロードされると、ドライバーはこのライセンスファイルを自動的に検出して使用します。

ライセンスを手動で有効化または更新する必要がある場合は:

  1. インストールディレクトリにあるライセンスファイルを見つけます。
  2. ライセンスファイルをライセンスキーで更新します。
  3. ドライバーは次回の接続時に更新されたライセンスを自動的に使用します。
macOS/Linux

JAR のインストールディレクトリに移動し、lib フォルダーで次のコマンドを実行します: java -jar cdata.jdbc.snowflake.jar --license

プロンプトに従ってライセンスキーを入力します。これにより、インストールディレクトリにライセンスファイルが作成され、ドライバーがライセンス認証に使用します。

ライセンスファイルの設定方法について詳しくは、ヘルプドキュメントのGetting StartedサブページにあるLicensingセクションをご覧ください。


ライセンスに関するよくある質問

複数のマシンでライセンスを使用できますか?
はい、サブスクリプションのレベルによります。詳細については、注文確認書をご確認いただくか、担当営業にお問い合わせください。担当営業が不明な場合は、[email protected]までご連絡ください。

ライセンスキーを紛失しました。再発行は可能ですか?
注文番号を記載して[email protected]にメールをお送りください。ライセンスキーを再送いたします。

ライセンスを別のマシンに移行できますか?
はい、可能です。ライセンスを別のマシンに移行する際は、以下のリンクからライセンス移行リクエストを提出する必要があります:

https://jp.cdata.com/contact/

ライセンス移行リクエストが提出され、正常に処理されると、プロダクトキーに新しいアクティベーションが追加され、別のマシンで完全なライセンスを有効化できます。この処理が完了すると、以前のマシンのライセンスは無効になります。

ライセンスファイルの代わりに RTK を使用すべき場合は?
コンテナ、クラウドインスタンス、または複数のマシンにアプリケーションを配布する場合など、マシン/ノード ID が動的に変更される環境にデプロイする場合は RTK を使用してください。

ライセンスに関するその他のご質問は、[email protected]までお問い合わせください。ライセンスの確認とアップグレードは、セルフサービスポータル(portal.cdata.com)から行えるようになりました。


接続の設定

ドライバーのインストールとライセンス認証が完了したら、Snowflake への接続を設定できます。JDBC 接続は、接続 URL(接続文字列とも呼ばれます)を使用して確立されます。

JDBC 接続 URL の理解

CData ドライバーの JDBC 接続 URL は次のパターンに従います:

jdbc:snowflake:User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;

接続 URL の構築

おすすめ:内蔵の接続文字列デザイナーを使用

JDBC ドライバーには、必要なすべての接続プロパティを含む正しい JDBC URL を構築するための接続文字列デザイナーツールが含まれています。

接続文字列デザイナーの起動方法:
  1. ドライバーのインストールディレクトリに移動します: C:\Program Files\CData\CData JDBC Driver for Snowflake 20xx\lib\
  2. JAR ファイルをダブルクリックします:cdata.jdbc.snowflake.jar
    または
    コマンドラインから実行します: java -jar cdata.jdbc.snowflake.jar
  3. 接続文字列デザイナーが起動します。
  4. 表示されるフィールドに接続プロパティを入力します。
  5. Test Connectionをクリックして設定を確認します。
  6. デザイナーから生成された JDBC URL をコピーします。

接続文字列デザイナーを使用すると、正しい構文で記述でき、Snowflake で使用可能なすべての接続プロパティを確認できます。

ドライバークラス名

IntelliJ IDEA、Eclipse、DBeaver などの IDE やその他のツールで JDBC ドライバーを設定する際には、ドライバークラス名を指定する必要があります:

cdata.jdbc.snowflake.SnowflakeDriver

接続プロパティの設定

必要な接続プロパティは、データソースによって異なります。

それでは、Snowflake データベースに接続していきましょう。認証に加えて、以下の接続プロパティを設定します。

  • Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
    • Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
    • ご自身のURL は以下のステップで確認できます。
      1. Snowflake UI の左下にあるユーザー名をクリックします
      2. Account ID にカーソルを合わせます
      3. Copy Account URL アイコンをクリックして、アカウントURL をコピーします
  • Database(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
  • Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します

Snowflakeへの認証

CData 製品では、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、UserPassword を設定し、AuthScheme プロパティで認証方法を選択してください。

キーペア認証

ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、以下の値を設定してください。

  • User:認証に使用するユーザーアカウント
  • PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー
  • PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)
  • PrivateKeyPassword:指定されたプライベートキーのパスワード

その他の認証方法については、ヘルプドキュメントの「Snowflakeへの認証」セクションをご確認ください。

Snowflake で使用可能なすべての接続プロパティの詳細については、ヘルプドキュメントのEstablishing a Connectionセクションをご覧ください。


接続のテスト

接続は次の方法でテストできます:

接続文字列デザイナーでのテスト

プロパティを入力後、Test Connectionボタンをクリックします。テストが成功すれば、認証情報と接続設定が正しいことが確認できます。

アプリケーションでのテスト

アプリケーションでドライバー JAR を特定の場所に移動する必要がある場合は、今すぐ移動し、JAR がアプリケーションのクラスパスに含まれていることを確認してください。また、ライセンス認証のために .lic ファイルも同じ場所に移動してください。

注意: DBeaver などの多くの JDBC 対応ツールでは、Test Connection 機能を使用する際にプロバイダーへのライブリクエストは実際には送信されません。 これは表面的なテストのみで、基本的に JAR ファイルが基本レベルで機能することをチェックするだけです。 JDBC 対応ツールを使用する場合は、有効な接続テストを確認するために ConnectOnOpen プロパティを True に設定する必要があります。

IDE で JDBC ドライバーを使用している場合は、簡単なクエリを実行して接続を確認できます:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

String url = "jdbc:snowflake:User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Products LIMIT 1");

if (rs.next()) {
    System.out.println("Connection successful!");
}


接続エラーが発生した場合は:

  1. 接続文字列デザイナーを使用して、接続プロパティが正しいことを確認します。
  2. ドライバー JAR がアプリケーションのクラスパスに含まれていることを確認します。
  3. エラーメッセージを確認し、具体的なガイダンスを参照します。
  4. トラブルシューティングのサポートが必要な場合は、エラーの詳細を添えて[email protected]にお問い合わせください。

よくある接続の問題

ドライバーが見つからない / ClassNotFoundException

解決方法:JDBC ドライバー JAR(cdata.jdbc.snowflake.jar)がプロジェクトのクラスパスに正しく追加されていることを確認してください。設定方法は IDE やビルドツールによって異なります。開発環境のドキュメントを参照するか、[email protected]にサポートをお問い合わせください。

認証エラー

解決方法:認証情報が正しく、最新であることを確認してください。接続文字列デザイナーを使用して、アプリケーションに追加する前に認証情報をテストしてください。Snowflake の認証要件の詳細については、ヘルプドキュメントのEstablishing a Connectionセクションをご覧ください。

ネットワーク接続の問題

解決方法:ファイアウォールが必要なポートでの送信接続を許可していることを確認してください。データソースの具体的なポートとファイアウォール要件については、[email protected]にお問い合わせください。

無効な接続文字列フォーマット

解決方法:接続文字列デザイナーを使用して、正しい形式の JDBC URL を生成してください。デザイナーは正しい構文とプロパティ名を保証します。

その他のトラブルシューティングについては、具体的なエラーメッセージを添えて[email protected]にお問い合わせください。


次のステップ

ドライバーのインストール、ライセンス認証、設定が完了したので、CData JDBC ドライバーを活用する次のシナリオをご覧ください:

JDBC クライアント記事タイトル
Actionista!国産BI ツールのActionista! からSnowflake に直接連携してビジュアライズ
Aqua Data StudioAqua Data Studio で Snowflake データに接続
AWS DatabricksDatabricks(AWS)でSnowflake のデータを処理・分析
BirstBirst でSnowflake データのビジュアライゼーションを構築
BIRTBIRT でSnowflake [datatype]のレポートを作成
CrownIX帳票ツールのCROWNIX でSnowflake のデータを取り込んだ帳票を作成する
FineReportFineReport で Snowflake データを利用する
JasperServerJasperReports Server で Snowflake のレポートを作成
Jaspersoft BI SuiteJaspersoft Studio から Snowflake [datatype]に接続
JReport DesignerJReport Designer で Snowflake の[datatype]を連携利用
KNIMEKNIME でSnowflake のデータに接続、データを取得する方法
Microstrategy DesktopMicroStrategy Desktop でCData JDBC Driver を使ってSnowflake に接続する
Microstrategy WebMicroStrategy Web でCData JDBC Driver を使用してSnowflake に接続
Pentaho Report DesignerPentaho Report Designer でSnowflake [datatype]を連携利用
RaccoonSnowflake のデータをRACCOON から連携して利用
RapidMinerRapidMiner からSnowflake のデータに連携
SAP Business ObjectsCData JDBC Driver for Snowflake で SAP BusinessObjects ユニバースを作成
SisenseSnowflake のデータをSisense でビジュアライズ
Spago BI【ノーコード】SpagoBI でSnowflake に連携する方法
TIBCO Spotfire ServerSpotfire Server から Snowflake データOperational レポーティングを作成
YellowfinSnowflake のデータをYellowfin に連携してビジュアライズ
Apache SolrApache Solr にSnowflake [datatype]をインポートする方法
Coginiti ProCoginiti Pro からリアルタイムSnowflake [datatype]にアクセス
DataGripDataGrip で Snowflake データをクエリ
DbVisualizerDbVisualizer でSnowflake のデータに連携しクエリを作成
Informatica Enterprise Data CatalogInformatica Enterprise Data Catalog で Snowflake データを追加
QuerySurgeQuerySurge で Snowflake データを検証
RazorSQLRazorSQL で Snowflake データに接続
SQuirreLSquirrel SQL Client からSnowflake のデータに連携
Apache SparkApache Spark でSnowflake のデータをSQL で操作する方法
AWS LambdaAWS Lambda でリアルタイムSnowflake [datatype]にアクセス(IntelliJ IDEA を使用)
ColdFusion QueryColdFusion から Snowflake [datatype]にクエリ
CreateWebFlowCreate!WebフローのサブフォームにSnowflake のデータを一覧表示させて使う方法:CData JDBC Drivers
FastAPPSnowflake のデータをFastAPPに連携して活用
Filemaker Pro (on Mac)FileMaker Pro とSnowflake の連携
HibernateJava で Snowflake データエンティティのオブジェクト リレーショナル マッピング(ORM)を行う
IBM WebSphereCData JDBC Driver を使用して Snowflake を IBM WebSphere に接続
IntelliJIntelliJ で Snowflake データに接続
JayDeBeApiJayDeBeApi を使って Python からSnowflake のデータにアクセス
JBossJBoss のコネクションプールから Snowflake データに接続
JDBIJDBI からSnowflake データのデータアクセスオブジェクトを作成
JettyJetty の接続プールから Snowflake データに接続
JRubyJRuby からSnowflake にデータ連携
MZ Platformソフトウェア開発ツールMZ Platform でSnowflake のデータと連携
NetBeansNetBeans で Snowflake データに接続
QuickSolution全文検索・情報活用システムのQuickSolution にSnowflake のデータを取り込んで検索で利用する
RubyMineCData JDBC ドライバーを使って JetBrains RubyMine からSnowflake に接続
RunMyProcess DSECRunMyProcess DSEC を使用して DigitalSuite Studio で Snowflake データに接続
ServoyServoy で Snowflake 連携Web アプリを構築
Spring BootSpring Boot からSnowflake のデータに接続する方法
TalonTALON でSnowflake にデータ連携する画面を生成
TomcatTomcat のコネクションプールで CData JDBC Driver for Snowflake を構成
WagbySnowflake のデータをWagby に繋いでみた
WebLogicWebLogic のコネクションプールからSnowflakeに接続
XC-Gate現場帳票電子化ソリューションXC-Gate とXC-Connect を使ってSnowflake のデータを利用した帳票を作成する方法
DenodoDenodo Platform で Snowflake データに接続
DremioDremio でSnowflake [datatype]に外部ソースとして接続
PostgreSQL FDW (MySQL)Snowflake データの PostgreSQL インターフェースを作成(MySQL リモーティング経由の JDBC)
Apache AirflowApache Airflow で Snowflake データを連携
Apache CamelApache Camel を使用してSnowflake のデータと連携
Apache KafkaSnowflake [datatype]をApache Kafka トピックにストリーミング
Apache NiFiApache NiFi で Snowflake に接続
Apache NiFi Batch OperationsApache NiFi でSnowflake のデータにバッチ操作を実行
ASTERIA Warp【ノーコード】Snowflake のデータをASTERIA Warp に繋いでみた
Azure DatabricksAzure Databricks で[datasource]に接続してデータ処理を行う方法
BizStreamSnowflake のデータを帳票ツールbiz-Stream で連携利用する方法
BoomiSnowflake のデータをBoomi AtomSphere で連携利用する方法:CData JDBC Driver
Cloud Data FusionGoogle Cloud Data Fusion でSnowflake のデータを扱う方法:CData JDBC Driver
CloverDXCloverDX(旧CloverETL)で Snowflake データに接続
DataSpiderSnowflake のデータをDataSpider Servista の連携先として使う方法
Elasticsearch LogstashElasticsearch へLogstash 経由でSnowflake のデータをロードする方法
EmbulkEmbulk を使用して Snowflake の[datatype]をデータベースにロードする方法
ETL ValidatorETL Validator JDBC でSnowflake [datatype]を扱う方法
HULFT IntegrateHULFT Integrate で Snowflake データに接続
Informatica CloudInformatica Cloud で Snowflake データを連携
Informatica PowerCenterJDBC で Snowflake データソースから Informatica マッピングを作成
Neuron ESBエンタープライズサーチのNeuron にSnowflake のデータを取り込んで検索利用
Oracle Data IntegratorOracle Data Integrator で Snowflake データをETL
Pentaho Data IntegrationPentaho Data Integration でSnowflake [datatype]を連携
TalendTalend Cloud Data Management Platform で Snowflake データを連携
JDBC SetupCData JDBC Driver for Snowflake はじめに:インストールから接続まで
BizRobo!RPA ツールBizRobo! でSnowflake に連携したフローを作成する
MuleSoft AnypointMule アプリケーションからSnowflake のデータにアクセス:CData JDBC Driver

サポート

サポートが必要な場合は、以下までお問い合わせください:


よくある質問


インストールとライセンス

  • JDBC ドライバーはどこにインストールされますか?
    デフォルトのインストールディレクトリは以下のとおりです:
    Windows: C:\Program Files\CData\CData JDBC Driver for Snowflake \lib
    Mac: /Application/CData JDBC Driver for Snowflake /lib
    Linux: /home//CData/CData JDBC Driver for Snowflake /lib
  • ライセンスキーを取得するには?
    ライセンスキーはご購入時にメールで送信されます。再送が必要な場合は、注文番号を添えて[email protected]にお問い合わせください。
  • 複数のアプリケーションでライセンスを使用できますか?
    はい、可能です。ライセンスファイルは、マシン上でドライバーを使用するすべての Java アプリケーションで機能します。
  • RTK(Runtime Key)を使用すべき場合は?
    コンテナ(Docker/Kubernetes)、クラウドインスタンス、または複数のマシンにアプリケーションを配布する場合など、マシン/ノード ID が動的に変更される環境にデプロイする場合は RTK を使用してください。RTK が必要な場合は、担当営業にお問い合わせください。

接続

  • JDBC 接続 URL はどのように構築しますか?
    内蔵の接続文字列デザイナーツールを使用してください。ドライバー JAR をダブルクリックするか、java -jar cdata.jdbc.snowflake.jar を実行してデザイナーを起動します。正しい形式の接続 URL の構築をサポートします。
  • ドライバークラス名は何ですか?
    ドライバークラスは次のパターンに従います:cdata.jdbc.snowflake.SnowflakeDriver
    IntelliJ IDEA、Eclipse、DBeaver などの IDE でドライバーを設定する際に必要です。
  • Snowflake に必要な接続プロパティは何ですか?
    Snowflake の必須およびオプションの接続プロパティの詳細については、ヘルプドキュメントのEstablishing a Connectionセクションをご覧ください。接続文字列デザイナーでも利用可能なすべてのプロパティを確認できます。
  • 複数の Snowflake アカウントに接続するには?
    アカウントごとに異なる認証情報を使用して、個別の接続 URL を作成します。アプリケーション内で複数の接続を管理できます。
  • 認証情報を安全に保存するには?
    環境変数、設定ファイル、またはシークレット管理システム(AWS Secrets Manager や Azure Key Vault など)を使用してください。認証情報をソースコードにハードコードしないでください。

使用方法と開発

  • どの SQL 操作がサポートされていますか?
    サポートされている SQL 操作の一覧については、ヘルプドキュメントのSQL Compliance章をご覧ください。
  • マルチスレッドアプリケーションでドライバーを使用できますか?
    はい、可能です。スレッドセーフのための標準的な JDBC のベストプラクティスに従ってください。同時アクセスには接続プーリングを使用してください。
  • IDE にドライバーを追加するには?
    JAR ファイル(cdata.jdbc.snowflake.jar)をプロジェクトのクラスパスに追加します。外部 JAR の追加については、IDE のドキュメントを参照してください。ドライバークラス名は:cdata.jdbc.snowflake.SnowflakeDriver

パフォーマンスとトラブルシューティング

  • クエリが遅いのはなぜですか?
    以下を確認してください:
    • 接続プーリングを使用します。
    • フィルター(WHERE 句)を追加して結果セットのサイズを減らします。
    • クエリの最適化のサポートについては、[email protected]にお問い合わせください。
  • トラブルシューティングのためにログを有効にするには?
    接続文字列にログプロパティを追加するか、Logfile プロパティを有効なファイルパスに設定し、Verbosity プロパティを目的のログレベルに設定して、アプリケーションでログを設定します(HTTP リクエストとレスポンスをキャプチャするには Verbosity=3 を推奨します)。ログ設定の詳細については、ヘルプドキュメントのAdvanced Featuresセクションをご覧ください。トラブルシューティングのサポートについては、[email protected]にお問い合わせください。
  • どのファイアウォールポートを開く必要がありますか?
    ポート要件はデータソースによって異なります。ほとんどのクラウドアプリケーションは HTTPS(ポート 443)を使用します。必要に応じて、ヘルプドキュメントのAdvanced FeaturesセクションでFirewall & Proxy設定を参照してください。Snowflake の具体的なファイアウォール要件については、[email protected]にお問い合わせください。
  • Docker でドライバーをデプロイするには?
    Docker イメージにドライバー JAR を含め、接続文字列で RTK(Runtime Key)を使用してライセンス認証を行います。これにより、動的なコンテナのノード ID が処理されます。
  • ClassNotFoundException が発生します。どうすれば修正できますか?
    これは、ドライバー JAR がクラスパスにないことを意味します。JAR ファイルの場所を確認し、IDE またはビルド設定でプロジェクトのクラスパスに追加されていることを確認してください。

全般

  • ヘルプドキュメントはどこにありますか?
    ヘルプドキュメントは、インストールディレクトリ内のドライバーとともにインストールされており、CData の Web サイトでも利用可能です。
  • ドライバーはどのくらいの頻度で更新されますか?
    CData は年に一度、ドライバーのメジャーバージョンアップデートをリリースしています。最新バージョンについては、アカウントポータルを確認するか、[email protected]にお問い合わせください。
  • 特定のユースケースのコード例はありますか?
    はい、あります。ヘルプドキュメントには多数のコード例が含まれています。特定のシナリオの例が必要な場合は、[email protected]にお問い合わせください。

この FAQ で取り上げられていないご質問は、[email protected]にお問い合わせください。

はじめる準備はできましたか?

Snowflake Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Snowflake Enterprise Data Warehouse Icon Snowflake JDBC Driver お問い合わせ

驚くほど簡単にJDBC でJava アプリケーションからSnowflake にデータ連携!