Tomcat Connection Pool にCData JDBC Driver を設定してSnowflake のデータに連携

Tomcat Connection Pool からSnowflake に連携接続。

古川えりか
コンテンツスペシャリスト

最終更新日:2022-09-12

この記事で実現できるSnowflake 連携のシナリオ

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。



CData JDBC Drivers は標準JDBC インターフェースをサポートし、JVM 上で実行されるWeb アプリケーションに統合します。この記事では、Tomcat のConnection Pool からSnowflake に接続する方法について詳しく説明します。

Tomcat のConnection Pool 経由でSnowflake のデータに接続

  1. CData JAR およびCData .lic ファイルを$CATALINA_HOME/lib にコピーします。CData JAR はインストールディレクトリの[lib]サブフォルダ内にあります。
  2. コンテキストにリソースの定義を追加します:

    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(オプション):によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限します。
    • Schema(オプション):本製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限します。

    Snowflake への認証

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

    キーペア

    ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成することにより、キーペア認証を使用して認証できます。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、次の値を設定します。

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

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

    <Resource name="jdbc/snowflake" auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.snowflake.SnowflakeDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" url="jdbc:snowflake:User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;" maxActive="20" maxIdle="10" maxWait="-1" />

    一つのアプリケーションからSnowflake へのアクセスを許可するには、上のコードをアプリケーションのMETA-INF ディレクトリにあるcontext.xml に追加します。

    共有リソースの設定には、上のコードを$CATALINA_BASE/conf 内にあるcontext.xml に追加します。共有リソースの設定は、すべてのアプリケーションにSalesforce への接続を提供します。

  3. アプリケーションのweb.xml にリソースへの参照を追加します。 Snowflake のデータ JSP jdbc/Snowflake javax.sql.DataSource コンテナ
  4. Connection pool からの接続の初期化: Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup("java:/comp/env"); DataSource ds = (DataSource)envContext.lookup("jdbc/Snowflake"); Connection conn = ds.getConnection();

そのほかのTomcat へのデータ連携ドライバーの統合

上記の手順では、簡単なコネクションプーリングのシナリオでSnowflake に接続する方法を説明しました。ほかの使用例や情報については、 Tomcat 製品ドキュメントの 「JNDI Datasource How-To」をご覧ください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。