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のアカウント名>.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);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_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);- デフォルト:
なし
デフォルトのデータベース、ロール、スキーマ、およびウェアハウスのパラメーター¶
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
)またはその他の値は、ドライバーがプロキシを使用しないことを指定します。詳細については 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
¶
- 説明:
それぞれのパラメーターをパターンとして使用できない
getCrossReference
、getExportedKeys
、getImportedKeys
、および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