JDBC ドライバーの接続パラメーター参照¶
このトピックでは、 JDBC ドライバーの構成に使用できる接続パラメーターをリストします。これらのパラメーターは、 JDBC 接続文字列 またはJava Properties オブジェクトで設定できます。
このトピックの内容:
必須パラメーター¶
このセクションでは、接続文字列またはプロパティの Map で設定する必要のあるパラメーターをリストします。
注釈
認証用パラメーター も設定する必要があります。
user¶
- 説明:
接続のためのユーザーのログイン名を指定します。
認証パラメーター¶
allowUnderscoresInHost¶
- 説明:
アカウント名にアンダースコアを許可するかどうかを指定します。JDBC ドライバーは、アカウント名を含む URLs のアンダースコアをサポートしていないため、 JDBC ドライバーはアンダースコアをハイフンに自動的に変換します。デフォルト値は
falseです。注釈
バージョン3.13.25以降、Snowflake JDBC ドライバーは
allowUnderscoresInHostパラメーターのデフォルト値をfalseに変更します。この変更は、アカウント名にアンダースコアが含まれる PrivateLink のお客様に影響します。この場合、allowUnderscoresInHostをtrueに設定してデフォルト値を上書きする必要があります。
authenticator¶
- 説明:
ユーザーログイン認証情報の検証に使用する認証方式を指定します。これは、次のいずれかの値に設定できます。
snowflakeは、内部Snowflake認証方式を使用します。
externalbrowserから 自分のウェブブラウザーを使用 して、Okta、AD FS、またはアカウントのために定義されている他の SAML 2.0準拠の識別プロバイダー(IdP)を認証します。
https://<okta_account_name>.okta.com(つまり、ご使用のOktaの URL エンドポイント)から ネイティブOktaを介して認証 します(IdP がOktaの場合にのみサポート)。OAuth を使用して認証する
oauth。OAuth が認証コードとして指定されている場合は、 OAuth トークンを指定するためにtokenパラメーターも設定する必要があります(以下を参照)。キーペア認証を使用した
snowflake_jwtの認証。キーペア認証の詳細については、 キーペア認証とキーローテーションの使用 をご参照ください。
username_password_mfaは MFA トークンキャッシングで認証します。詳細については、 多要素認証の使用 をご参照ください
oauth_authorization_codeWebブラウザーと選択したIDプロバイダー(IdP としてSnowflakeを含む)で、 OAuth 認証コードを使用して手動で認証します。詳細については、 OAuth 2.0 認証コードフローの使用 をご参照ください。
oauth_client_credentials選択したIDプロバイダーで OAuth クライアント認証を使用して自動的に認証します(Snowflakeは IdP として、クライアント認証フローをサポートしていません)。詳細については、 OAuth 2.0 クライアント認証フローの使用 をご参照ください。
programmatic_access_tokenは、プログラムアクセストークン(PAT)で認証します。詳細については、 プログラムアクセストークンによる認証コード (PAT) をご参照ください。
WORKLOAD_IDENTITYは、 ワークロードIDフェデレーション(WIF) 認証コードを使用して認証します。接続文字列がキーペアを指定する場合は、
authenticatorパラメーターが設定されていない場合や、「snowflake」に設定されている場合でも、キーペア認証が使用されます。認証の詳細については、 フェデレーション認証の管理/使用 および クライアント、ドライバー、およびコネクタ をご参照ください。
- デフォルト:
snowflake
disableGcsDefaultCredentials¶
- 説明:
GCP (Google Cloud Platform)を使用するときに、外部アプリケーションのデフォルトの認証情報ではなく、デフォルトの認証情報の検索を使用するかどうかを指定します。
デフォルトでは、 GCP ユーザーはさまざまなオプションを使用して、Snowflakeの外部でGoogleアプリケーションのデフォルト認証情報を設定できます。場合によっては、これらの認証方法が、Snowflake JDBC ドライバーから実行されるクラウドストレージ操作に干渉することがあります。このような場合、値を
trueに設定して、ドライバーが他のソースからの GCP 認証情報を無視するように強制することができます詳細については、 アプリケーションのデフォルト認証情報 をご参照ください
また、
net.snowflake.jdbc.disableGcsDefaultCredentialsJavaプロパティを使用して、同じ効果を得ることもできます。- デフォルト:
true
disableSamlURLCheck¶
- 説明:
SAML レスポンスの検証チェックを無効にするかどうかを指定します。
- デフォルト:
false
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);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);注意
Snowflakeへの接続に文字列を使用するクライアントアプリケーションによってパスワードが誤って公開される可能性があるため、 JDBC 接続文字列にユーザーパスワードを直接 含めない ように強くお勧めします。代わりに、アプリケーションが提供するインターフェイスを使用してユーザーパスワードを指定します。
privatekey¶
- 説明:
指定したユーザーの秘密キーを指定します。キーペア認証とキーローテーションの使用 をご参照ください。
private_key_base64¶
- 説明:
指定したユーザーのベース64がエンコードされたプライベートキーを指定します。キーペア認証とキーローテーションの使用 をご参照ください。
private_key_file¶
- 説明:
指定したユーザーの秘密キーファイルへのパスを指定します。キーペア認証とキーローテーションの使用 をご参照ください。
private_key_file_pwd¶
- 説明:
(廃止)代わりに private_key_pwd を使います。
private_key_pwd¶
- 説明:
指定されたユーザーのプライベートキーファイルまたはベース64エンコードされたプライベートキーを復号化するためのパスフレーズを指定します。キーペア認証とキーローテーションの使用 をご参照ください。
token¶
- 説明:
認証に使用する OAuth トークンを指定します。
<string>はトークンです。このパラメーターは、以下のノートにある場合を除き、 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);- デフォルト:
なし
oauthClientId¶
- 説明:
Snowflake統合用にIDプロバイダーが提供する
client idの値(Snowflakeセキュリティ統合メタデータ)。
oauthClientSecret¶
- 説明:
IDプロバイダーがSnowflake統合用に提供する
client secretの値(Snowflakeセキュリティ統合メタデータ)。
oauthTokenRequestUrl¶
- 説明:
ドライバーにアクセストークンを供給する ID プロバイダーのエンドポイント。SnowflakeをIDプロバイダーとして使用する場合、この値は
serverまたはaccountパラメーターから取得されます。
oauthScope¶
- 説明:
ID プロバイダー承認リクエストで要求された範囲。デフォルトでは、ロールから派生します。複数のスコープが必要な場合、値はスペースで区切られた複数のスコープのリストでなければなりません。
oauthRedirectUri¶
- 説明:
認証コードリダイレクトに使用する URI (Snowflakeセキュリティ統合メタデータ)。デフォルト:
http://127.0.0.1:{randomAvailablePort}。
workloadIdentityProvider¶
- 説明:
ワークフローIDプロバイダーのプラットフォーム。可能な値は次のとおりです。
AWS、AZURE、GCPおよび:codenowrap:OIDC。
デフォルトのデータベース、ロール、スキーマ、およびウェアハウスのパラメーター¶
db¶
- 説明:
接続後に使用するデフォルトのデータベースを指定するか、空の文字列を指定します。指定されたデータベースは、指定された既定のロールが権限を持つ、既存のデータベースである必要があります。
接続後に別のデータベースを使用する必要がある場合は、 USE DATABASE コマンドを実行します。
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)またはその他の値は、ドライバーがプロキシを使用しないことを指定します。この設定は、 JVM プロキシ引数が存在する場合には効果がありません。JDBC 接続文字列によるプロキシサーバーの指定 をご参照ください。
- デフォルト:
off
タイムアウトパラメーター¶
loginTimeout¶
- 説明:
ログイン失敗エラーを返す場合に、Snowflakeサービス接続時の応答待機時間を秒数で指定します。
- デフォルト:
60
networkTimeout¶
- 説明:
Snowflakeサービスと対話するときに、エラーを返す場合の応答待機時間をミリ秒数で指定します。
0(ゼロ)は、ネットワークタイムアウトが設定されていないことを指定します。- デフォルト:
0
net.snowflake.jdbc.http_client_connection_timeout_in_ms¶
- 説明:
リモートホストとの新しい接続(TLS ネゴシエーションを含む)を完全に確立するまでの最大待機時間をミリ秒単位で指定します。
また、接続文字列で
${HTTP_CLIENT_CONNECTION_TIMEOUT}と設定することもできます。
- デフォルト:
60000(1分)
net.snowflake.jdbc.http_client_socket_timeout_in_ms¶
- 説明:
接続が正常に確立された後のデータ最大待機時間(2つのデータパケット間の非アクティブ時間)をミリ秒単位で指定します。
また、接続文字列で
${HTTP_CLIENT_SOCKET_TIMEOUT}と設定することもできます。
- デフォルト:
300000(5分間)
queryTimeout¶
- 説明:
エラーを返す場合にクエリ完了の待機時間を秒数で指定します。
0(ゼロ)は、ドライバーが無期限に待機する必要があることを指定します。- デフォルト:
0
その他のパラメーター¶
application¶
- 説明:
Snowflakeパートナーによる使用のみ: JDBC を介して接続するパートナーアプリケーションの名前を指定します。
CLEAR_BATCH_ONLY_AFTER_SUCCESSFUL_EXECUTION¶
- 説明:
バッチが正常に更新された場合にのみ、バッチエントリをクリアするかどうかを指定します。
true: バッチエントリは、バッチが正常に更新されたときにのみクリアされます。
false:Statement.executeBatchとStatement.executeLargeBatchは実行後にバッチエントリをクリアしませんが、PreparedStatement.executeBatchとPreparedStatement.executeLargeBatchは実行後に常にバッチエントリをクリアします。このパラメーターは後方互換性のために可用性です。
- デフォルト:
false
client_config_file¶
- 説明:
ログレベルとログファイルを保存するディレクトリを定義するために使用できる ログ構成ファイル のパスを指定します。.. :デフォルト:
sf_client_config.json
CLIENT_TREAT_TIME_AS_WALL_CLOCK_TIME¶
- 説明:
これにより、パラメーターが
falseの場合に、リテラルタイムゾーンに依存したエポック変換による潜在的な不一致を避けることができます。: デフォルト:
false。
DIAGNOSTICS_ALLOWLIST_FILE¶
- 説明:
SYSTEM$ALLOWLIST または SYSTEM$ALLOWLIST_PRIVATELINK 関数の出力を含む JSON ファイルのフルパスとファイル名。
ENABLE_DIAGNOSTICSがtrueの場合、このパラメーターを指定する必要があります。
disableOCSPChecks¶
- 説明:
trueの場合、ドライバーは OCSP の確認を実行しません。- デフォルト:
false
ENABLE_DIAGNOSTICS¶
- 説明:
trueおよび呼び出し元のアプリケーションがDriverManagerまたはDataSourcegetConnection()メソッドを呼び出すと、ドライバーはいくつかの接続性テストを実行し、事前に設定されたログファイルに結果を書き込みます。また、ドライバーは次のような例外を返します。net.snowflake.client.jdbc.SnowflakeSQLException: A connection was not created because the driver is running in diagnostics mode. If this is unintended then disable diagnostics check by removing the ENABLE_DIAGNOSTICS connection parameterこのパラメーターを有効にする場合、
DIAGNOSTICS_ALLOWLIST_FILEパラメータに値を指定する必要があります。- デフォルト:
false
ENABLE_EXACT_SCHEMA_SEARCH_ENABLED¶
- 説明:
DatabaseMetaDataメソッドでスキーマを正確に検索するかどうかを設定します。- デフォルト:
false(後方互換性のため)
enablePatternSearch¶
- 説明:
それぞれのパラメーターをパターンとして使用できない
getCrossReference、getExportedKeys、getImportedKeys、およびgetPrimaryKeysメタデータ操作のパターン検索を有効または無効にします。- デフォルト:
true
ENABLE_WILDCARDS_IN_SHOW_METADATA_COMMANDS¶
- 説明:
SQL クエリ作成時、一部の:codenowrap:
DatabaseMetaDataメソッドでワイルドカードをリテラルとして処理することを有効化または無効化します。この設定は、クライアントが識別子でワイルドカードをエスケープできない場合に役立ちます。- デフォルト:
true
enablePutGet¶
- 説明:
PUT と GET コマンドによるローカルファイルシステムへのアクセスを許可するかどうかを指定します。値を
falseに設定すると、 PUT と GET のコマンド実行が無効になります。- デフォルト:
true
IMPLICIT_SERVER_SIDE_QUERY_TIMEOUT¶
- 説明:
Snowflakeに送信するクエリでタイムアウトを送信するかどうかを指定します。
true:Statement.setQueryTimeoutを呼び出すと、クライアントサイドのタイムアウトに加えて、Snowflakeに送信されるクエリのタイムアウトが設定されます。
false:Statement.setQueryTimeoutを呼び出すと、クライアント側のタイムアウトのみが設定されます。- デフォルト:
false
insecureMode¶
- 説明:
非推奨。disableOCSPChecks をご参照ください。
JAVA_LOGGING_CONSOLE_STD_OUT¶
- 説明:
ログメッセージを標準エラーではなく標準出力に書き出すかどうかを指定します。
- デフォルト:
false
JAVA_LOGGING_CONSOLE_STD_OUT_THRESHOLD¶
- 説明:
標準出力に書き込むログメッセージレベルの最大値を指定します。より高いログレベルは標準エラーに書き込まれます。
JAVA_LOGGING_CONSOLE_STD_OUTがtrueのときのみ有効です。可能な値は次のとおりです。
OFF
SEVERE
WARNING
INFO
CONFIG
FINE
FINER
FINEST
ALL- デフォルト:
これは
OFFまたはSEVEREに値を設定するのと同じです。
JDBC_ARROW_TREAT_DECIMAL_AS_INT¶
- 説明:
getObject呼び出しからの矢印結果セット内のすべての数値を整数として返すかどうかを指定します。この値と JDBC_TREAT_DECIMAL_AS_INT パラメーター値がともにfalseの場合、getObject呼び出しからの矢印戻りセット内のすべての整数がBigDecimal型として返されます。- デフォルト:
true
JDBC_DEFAULT_FORMAT_DATE_WITH_TIMEZONE¶
- 説明:
フォーマッターに以前ハードコードされていた値を使うかどうかを指定します (後方互換性のため)。
- デフォルト:
true
JDBC_GET_DATE_USE_NULL_TIMEZONE¶
- 説明:
getDateメソッドで、以前はnullだったタイムゾーン値を使用するかどうかを指定します(後方互換性のため)。- デフォルト:
true
maxHttpRetries¶
- 説明:
失敗した HTTP リクエストを再試行してエラーを返すまでの最大回数を指定します。
- デフォルト:
7
net.snowflake.jdbc.max_connections¶
- 説明:
接続プールで使用可能な合計最大接続数を指定します。
- デフォルト:
300
net.snowflake.jdbc.max_connections_per_route¶
- 説明:
単一のポートまたはURLに許可される最大接続数を指定します。値は net.snowflake.jdbc.max_connections 値を超えることはできません。
- デフォルト:
300
net.snowflake.jdbc.objectMapper.maxJsonStringLength¶
- 説明:
文字列の最大バイト数を指定します。以下のようなエラーメッセージが表示される場合は、この Java プロパティの値を大きくして、Snowflake レスポンスのデシリアライズにより大きなバッファを設定できます。
com.fasterxml.jackson.core.exc.StreamConstraintsException: String length (XXXXXXX) exceeds the maximum length (180000000)- デフォルト:
180000000
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
OWNER_ONLY_STAGE_FILE_PERMISSIONS_ENABLED¶
- 説明:
ステージファイル用に作成されたディレクトリに所有者のみの権限(0600)を設定します。
- デフォルト:
false