JDBC ドライバーの接続パラメーター参照

このトピックでは、 JDBC ドライバーの構成に使用できる接続パラメーターをリストします。これらのパラメーターは、 JDBC 接続文字列 またはJava Properties オブジェクトで設定できます。

このトピックの内容:

必須パラメーター

このセクションでは、接続文字列またはプロパティの Map で設定する必要のあるパラメーターをリストします。

注釈

認証用パラメーター も設定する必要があります。

user

説明:

接続のためのユーザーのログイン名を指定します。

認証パラメーター

allowUnderscoresInHost

説明:

アカウント名にアンダースコアを許可するかどうかを指定します。JDBC ドライバーは、アカウント名を含む URLs のアンダースコアをサポートしていないため、 JDBC ドライバーはアンダースコアをハイフンに自動的に変換します。デフォルト値は false です。

注釈

バージョン3.13.25以降、Snowflake JDBC ドライバーは allowUnderscoresInHost パラメーターのデフォルト値を false に変更します。この変更は、アカウント名にアンダースコアが含まれる PrivateLink のお客様に影響します。この場合、 allowUnderscoresInHosttrue に設定してデフォルト値を上書きする必要があります。

authenticator

説明:

ユーザーログイン認証情報の検証に使用する認証方式を指定します。これは、次のいずれかの値に設定できます。

  • snowflake は、内部Snowflake認証方式を使用します。

  • externalbrowser から 自分のウェブブラウザーを使用 して、Okta、AD FS、またはアカウントのために定義されている他の SAML 2.0準拠の識別プロバイダー(IdP)を認証します。

  • https://<Oktaのアカウント名>.okta.com (つまり、ご使用のOktaのURLエンドポイント)から ネイティブOktaを介して認証 します(IdPがOktaの場合にのみサポート)。

  • OAuthを使用して認証する oauth。OAuth が認証コードとして指定されている場合は、 OAuth トークンを指定するために token パラメーターも設定する必要があります( 以下を参照)。

  • キーペア認証を使用した snowflake_jwt の認証。キーペア認証の詳細については、 キーペア認証とキーローテーションの使用 をご参照ください。

  • username_password_mfa は MFA トークンキャッシングで認証します。詳細については、 多要素認証の使用 をご参照ください

接続文字列がキーペアを指定する場合は、 authenticator パラメーターが設定されていない場合や、「snowflake」に設定されている場合でも、キーペア認証が使用されます。

認証の詳細については、 フェデレーション認証の管理/使用 および クライアント、ドライバー、およびコネクタ をご参照ください。

デフォルト:

snowflake

passcode

説明:

多要素認証に使用するパスコードを指定します。

多要素認証の詳細については、 多要素認証(MFA) をご参照ください。

passcodeInPassword

説明:

多要素認証のパスコードをパスワードに追加するかどうかを指定します。

  • on (または true)は、パスコードが追加されることを指定します。

  • off (または false)またはその他の値は、パスコードが追加されないことを指定します。

デフォルト:

off

password

説明:

指定したユーザーのパスワードを指定します。

パスワードを指定するには2つの方法があります。

  • 最初の方法は、ユーザー ID とパスワードを getConnection メソッドに直接渡すことです。

    String user = "<user>";          // replace "<user>" with your user name
    String password = "<password>";  // replace "<password>" with your password
    Connection con = DriverManager.getConnection("jdbc:snowflake://<account>.snowflakecomputing.com/", user, password);
    
    Copy
  • 2番目の方法は、 Properties オブジェクトを作成し、パスワードでオブジェクトを更新し、オブジェクトを getConnection メソッドに渡すことです。

    String user = "<user>";          // replace "<user>" with your user name
    String password = "<password>";  // replace "<password>" with your password
    Properties props = new Properties();
    props.put("user", user);
    props.put("password", password);
    Connection con = DriverManager.getConnection("jdbc:snowflake://<account>.snowflakecomputing.com/", props);
    
    Copy

注意

Snowflakeへの接続に文字列を使用するクライアントアプリケーションによってパスワードが誤って公開される可能性があるため、 JDBC 接続文字列にユーザーパスワードを直接 含めない ように強くお勧めします。代わりに、アプリケーションが提供するインターフェイスを使用してユーザーパスワードを指定します。

privatekey

説明:

指定したユーザーの秘密キーを指定します。 キーペア認証とキーローテーションの使用 をご参照ください。

private_key_file

説明:

指定したユーザーの秘密キーファイルへのパスを指定します。 キーペア認証とキーローテーションの使用 をご参照ください。

private_key_file_pwd

説明:

指定されたユーザーの秘密キーファイルを復号化するためのパスフレーズを指定します。 キーペア認証とキーローテーションの使用 をご参照ください。

token

説明:

認証に使用する OAuth トークンを指定します。 <文字列> はトークンです。このパラメーターは、以下のノートにある場合を除き、 authenticator パラメーターを oauth に設定する場合にのみ必要です。

注釈

バージョン3.13.24以降、Snowflake JDBC ドライバーにより、 OAuth トークンを token 構成パラメーターに含めることに加えて、接続パスワードで送信できるようになります。 token 構成パラメーターが指定されていない場合、 Driver.connect() メソッドでは、接続パスワードにトークンが格納されている必要があります。

この機能は主に、接続プールの OAuth 認証の使用をサポートします。これにより、 token 構成パラメーターで指定された期限切れのトークンによって制限されるのではなく、必要に応じて更新されたトークンを渡すことができるようになります。

たとえば、 token 構成パラメーター設定する代わりに、次のように getConnection() メソッドプロパティでパスワードとしてトークンを渡すことができます。

Properties props = new Properties();
props.put("user", "myusername");
props.put("authenticator", "oauth");
props.put("role", "myrole");
props.put("password", "xxxxxxxxxxxxx"); // where xxxxxxxxxxxxx is the token string
Connection myconnection = DriverManager.getConnection(url, props);
Copy
デフォルト:

なし

デフォルトのデータベース、ロール、スキーマ、およびウェアハウスのパラメーター

db

説明:

接続後に使用するデフォルトのデータベースを指定するか、空の文字列を指定します。指定されたデータベースは、指定された既定のロールが権限を持つ、既存のデータベースである必要があります。

接続後に別のデータベースを使用する必要がある場合は、 USE DATABASE コマンドを実行します。

role

説明:

ドライバーによって開始されたSnowflakeセッションで使用する、デフォルトのアクセス制御ロールを指定します。指定されたロールは、ドライバーのために指定されたユーザーに既に割り当てられている既存のロールでなければなりません。指定されたロールがユーザーにまだ割り当てられていない場合、ドライバーによってセッションが開始されるときにロールは使用されません。

接続後に別のロールを使用する必要がある場合は、 USE ROLE コマンドを実行します。

ロールとアクセス制御の詳細については、 アクセス制御の概要 をご参照ください。

schema

説明:

接続後に指定されたデータベースに使用するデフォルトのスキーマを指定するか、空の文字列を指定します。指定されたスキーマは、指定された既定のロールが権限を持つ、既存のスキーマでなければなりません。

接続後に別のスキーマを使用する必要がある場合は、 USE SCHEMA コマンドを実行します。

warehouse

説明:

接続後に使用する仮想ウェアハウスを指定するか、空の文字列を指定します。指定されたウェアハウスは、指定された既定のロールが権限を持つ、既存のウェアハウスでなければなりません。

接続後に別のウェアハウスを使用する必要がある場合は、 USE WAREHOUSE コマンドを実行して、セッションに別のウェアハウスを設定できます。

プロキシパラメーター

disableSocksProxy

説明:

ドライバーが、Javaシステムオプションで指定された SOCKS プロキシ構成を無視するかどうかを指定します。

  • on (または true)は、プロキシを無視することを指定します。

  • off (または false)またはその他の値は、プロキシの使用を指定します。

注釈

この接続パラメーターを設定すると、同じ JVM (Java仮想マシン)上にある すべての接続 の動作が変更されます。

デフォルト:

off

nonProxyHosts

説明:

プロキシサーバーをバイパスして、ドライバーが直接接続する必要があるホストのリストを指定します。詳細については JDBC 接続文字列によるプロキシサーバーの指定 をご参照ください。

proxyHost

説明:

使用するプロキシサーバーのホスト名を指定します。詳細については JDBC 接続文字列によるプロキシサーバーの指定 をご参照ください。

proxyPassword

説明:

プロキシサーバーへの認証用のパスワードを指定します。詳細については JDBC 接続文字列によるプロキシサーバーの指定 をご参照ください。

proxyPort

説明:

使用するプロキシサーバーのポート番号を指定します。詳細については JDBC 接続文字列によるプロキシサーバーの指定 をご参照ください。

proxyProtocol

説明:

プロキシサーバーへの接続に使用するプロトコルを指定します。詳細については JDBC 接続文字列によるプロキシサーバーの指定 をご参照ください。

デフォルト:

http

proxyUser

説明:

プロキシサーバーへの認証用のユーザー名を指定します。詳細については JDBC 接続文字列によるプロキシサーバーの指定 をご参照ください。

useProxy

説明:

ドライバーが、プロキシを使用するかどうかを指定します。

  • on (または true)は、ドライバーがプロキシを使用する必要があることを指定します。

  • off (または false)またはその他の値は、ドライバーがプロキシを使用しないことを指定します。

詳細については JDBC 接続文字列によるプロキシサーバーの指定 をご参照ください。

デフォルト:

off

タイムアウトパラメーター

loginTimeout

説明:

ログイン失敗エラーを返す場合に、Snowflakeサービス接続時の応答待機時間を秒数で指定します。

デフォルト:

60

networkTimeout

説明:

Snowflakeサービスと対話するときに、エラーを返す場合の応答待機時間をミリ秒数で指定します。 0 (ゼロ)は、ネットワークタイムアウトが設定されていないことを指定します。

デフォルト:

0

net.snowflake.jdbc.http_client_connection_timeout_in_ms

説明:

リモートホストとの新しい接続(TLS ネゴシエーションを含む)を完全に確立するまでの最大待機時間をミリ秒単位で指定します。

デフォルト:

60000 (1分)

net.snowflake.jdbc.http_client_socket_timeout_in_ms

説明:

接続が正常に確立された後のデータ最大待機時間(2つのデータパケット間の非アクティブ時間)をミリ秒単位で指定します。

デフォルト:

300000 (5分間)

queryTimeout

説明:

エラーを返す場合にクエリ完了の待機時間を秒数で指定します。 0 (ゼロ)は、ドライバーが無期限に待機する必要があることを指定します。

デフォルト:

0

その他のパラメーター

application

説明:

Snowflakeパートナーによる使用のみ: JDBC を介して接続するパートナーアプリケーションの名前を指定します。

client_config_file

説明:

ログレベルとログファイルを保存するディレクトリを定義するために使用する ログ構成ファイル のパスを指定します。

enablePatternSearch

説明:

それぞれのパラメーターをパターンとして使用できない getCrossReferencegetExportedKeysgetImportedKeys、および getPrimaryKeys メタデータ操作のパターン検索を有効または無効にします。

デフォルト:

true

enablePutGet

説明:

PUT と GET コマンドによるローカルファイルシステムへのアクセスを許可するかどうかを指定します。値を false に設定すると、 PUT と GET のコマンド実行が無効になります。

デフォルト:

true

maxHttpRetries

説明:

失敗した HTTP リクエストを再試行してエラーを返すまでの最大回数を指定します。

デフォルト:

7

net.snowflake.jdbc.max_connections

説明:

接続プールで使用可能な合計最大接続数を指定します。

デフォルト:

300

net.snowflake.jdbc.max_connections_per_route

説明:

単一のポートまたはURLに許可される最大接続数を指定します。値は net.snowflake.jdbc.max_connections 値を超えることはできません。

デフォルト:

300

ocspFailOpen

説明:

証明書を確認するために OCSP サーバーに到達できない場合は、ドライバーが「フェールオープン」する必要があることを指定します。 OCSP をご参照ください。

putGetMaxRetries

説明:

ストレージクライアントの PUT/GET 例外を再試行する最大回数を指定します。

デフォルト:

25

stringsQuotedForColumnDef

説明:

このパラメーターが true に設定されていると、 DatabaseMetaData.getColumns() および DatabaseMetaData.getProcedureColumns() が COLUMN_DEF 列に String 型の値を返すときに、その値は一重引用符に埋め込まれます。(値のデータ型が String ではない場合、このパラメーターの設定に関係なく、値は引用符で囲まれません。)

  • true は、文字列値を一重引用符で埋め込むことを指定します(引用符は区切り文字ではなく文字列の一部)。これは JDBC 標準に準拠しています。

  • false は、文字列値が一重引用符に埋め込まれないことを指定します。

デフォルト:

false

tracing

説明:

ドライバーのログレベルを指定します。ドライバーは、標準のJavaログユーティリティを使用します。このパラメーターは、次のログレベルのいずれかに設定できます。

  • OFF

  • SEVERE

  • WARNING

  • INFO

  • CONFIG

  • FINE

  • FINER

  • FINEST

  • ALL

デフォルト:

INFO