ODBC 構成および接続パラメーター¶
Snowflake ODBC ドライバーは、構成パラメーターと接続パラメーターの両方を利用します。パラメーターを設定する方法は、ドライバーがインストールされている環境によって異なります。
このトピックの内容:
Windowsでのパラメーターの設定¶
Windowsの場合:
構成パラメーターは、 regedit と次のレジストリパスを使用してWindowsレジストリに設定されます。
[HKEY_LOCAL_MACHINE\SOFTWARE\Snowflake\Driver]
接続パラメーターはデータソース名(DSNs)で設定されます。
DSNs は通常、Windows Data Source Administration ツールを使用して作成および編集されます。
必要に応じて regedit を使用して、 DSNs のレジストリキーをWindowsレジストリで直接編集できます。キーへのレジストリパスは、64ビットと32ビットのWindowsを使用しているか、ユーザーまたはシステム DSN を編集しているかによって異なります。
64ビットWindows:
[HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI\<DSN_NAME>] [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\<DSN_NAME>]
32ビットWindows:
[HKEY_CURRENT_USER\SOFTWARE\WOW6432NODE\ODBC\ODBC.INI\<DSN_NAME>] [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\ODBC\ODBC.INI\<DSN_NAME>]
regedit を使用して接続パラメーターを追加するには、新しい String Value を追加し、作成した値をダブルクリックして、 ODBC パラメーターを Value name として、そしてパラメーター値を Value data として入力します。
macOS またはLinuxでのパラメーターの設定¶
macOS またはLinuxの場合:
構成パラメーターは、構成ファイル(
simba.snowflake.ini
)で設定されます。接続パラメーターはデータソース名(DSN)ファイル(
odbc.ini
)で設定されます。
構成パラメーター¶
CABundleFile
証明機関(CA)のバンドルファイルの場所を設定します。CA 証明書の有効なリストを含むファイルを参照する必要があります。
Linuxの場合、 RPM および DEB インストーラーは自動的にファイルをコピーし、このパラメーターを設定します。
Macの場合、 PKG インストーラーはファイルをコピーし、このパラメーターを設定します。
Windowsの場合、 MSI インストーラーはファイルをコピーし、このパラメーターを設定します。
手動インストールでは、 https://curl.haxx.se/docs/caextract.html からファイルをダウンロードし、ファイルの場所を設定する必要があります。
CURLVerboseMode
cURL の詳細ログを有効にするには、
true
に設定します。ログファイルsnowflake_odbc_curl.dmp
が作成および更新されます。Snowflake ODBC ドライバーは、 cURL を HTTP および TLS ライブラリとして使用します。このパラメーターは、ネットワークの問題の診断に役立ちます。DisableOCSPCheck
true
に設定して、オンライン証明書状態プロトコル(OCSP)による TLS 証明書の失効ステータスチェックを無効にします。通常の状況では、このフラグは設定しないでください。ただし、 OCSP の可用性の問題が解決しないときは、アプリケーションがこのパラメーターを一時的に設定して、接続の問題のブロックを解除し、 OCSP の可用性の問題が解決されたときに削除する場合があります。
EnableAutoIpdByDefault
ODBC ドライバーを構成するために
false
に設定して、 SQL_ATTR_ENABLE_AUTO_IPD をfalse
(ODBC 標準のデフォルト値)に設定します。それ以外の場合、デフォルトでは、ODBC ドライバーはサードパーティツールとの互換性のために SQL_ATTR_ENABLE_AUTO_IPD をtrueに設定します。
このパラメーターは、ODBC ドライバーのバージョン2.22.0で導入されました。
EnablePidLogFileNames
true
に設定して、ログファイルの名前にプロセス ID を含めます。たとえば、プロセス ID が7394の場合、ログファイルには次の名前が付けられます。snowflake_odbc_connection_7394_0.log
snowflake_odbc_generic7394_0.log
snowflake_odbc_curl_7394.dmp
このパラメーターを設定して、異なるプロセスが同じログファイルを上書きしないようにすることができます。各プロセスは、独自のログファイルのセットを生成します。
デフォルトでは、このパラメーターの値は
false
です。このパラメーターは、 ODBC ドライバーのバージョン2.22.2で導入されました。
get_size_threshold
GET コマンドでファイルをダウンロードするときに、ファイルを小さな部分に分割する最小ファイルサイズをメガバイト(MB)単位で指定します。このしきい値より小さいサイズのファイルは、マルチパートダウンロードを使用しません。
デフォルトは 5 (MB)です。
注釈
対応する しきい値サイズ取得 接続パラメーターを設定すると、特定のケースでこの値を上書きできます。
KeepLeadingTrailingZeros
文字列値としてフォーマットされた数値の先頭または後続のゼロの処理方法を決定します。デフォルトでは、パラメーターは
true
に設定されます。これは、ドライバーが先頭または後続のゼロを保持することを意味します。パラメーターをfalse
に設定して、先頭または後続のゼロを削除します。たとえば、0.23
は.23
に変更7.00
は7
に変更
LogFileCount
新しいログファイル用のスペースを確保するため、古いファイルをローテーションする前に、保持するログファイルの最大数を設定します。
LogFileSize
ログファイルの最大サイズをバイト単位で指定します。ログファイルが指定されたサイズに達すると、 ODBC ドライバーは自動的に新しいログファイルを作成します。
デフォルトは 20971520 です。
LogLevel
ODBC ドライバーを使用するクライアントについて記録される詳細レベルを指定します。
0 = オフ
1 = 致命的
2 = エラー
3 = 警告
4 = 情報
5 = デバッグ
6 = トレース
LogPath
ODBC ドライバーを使用するクライアントのSnowflakeログファイルの場所を指定します。
MapToLongVarchar
デフォルトの ODBC
SQL_CHAR
またはSQL_VARCHAR
データ型ではなく、 ODBCSQL_LONGVARCHAR
データ型への文字列値のマッピングを開始する文字列の長さを指定します。< 0 (または設定解除): 文字列値をデフォルトの ODBC データ型にマップします。デフォルト = -1。
>= 0: デフォルトの ODBC 文字列データ型にマップする文字列文字の最大数を指定します。この値より大きいすべての文字列は、
SQL_LONGVARCHAR
にマップされます。
このパラメーターを接続パラメーターとして指定することもできます。(Windows、 macOS およびLinuxnai 内にあるパラメーターの設定の手順をご参照ください。)接続パラメーター および 構成パラメーターの両方として設定されている場合は、 DSN (または接続文字列)の接続パラメーターが優先されます。
このパラメーターは、 ODBC ドライバーのバージョン2.24.3で導入されました。
NoExecuteInSQLPrepare
true
に設定して、 ODBC ドライバーを構成し、 DDL ステートメント(CREATE や DROP など)をSQLPrepare()
とSQLExecute()
に渡すときに標準の ODBC 動作を使用します。Snowflakeでは、デフォルトで、 DDL ステートメントを
SQLPrepare()
に渡すと、 ODBC ドライバーはデータソースにステートメントを送信して(準備ではなく)実行します。DDL ステートメントをSQLExecute()
に渡すと、 ODBC ドライバーはステートメントをデータソースに送信しません。NoExecuteInSQLPrepare
をtrue
に設定すると、 ODBC ドライバーは標準の ODBC 動作に従います。SQLPrepare()
を呼び出すと、ステートメントがデータソースに送信され、準備されます(実行はしない)。SQLExecute()
を呼び出すと、ステートメントがデータソースに送信されて実行されます。このパラメーターは、ODBC ドライバーのバージョン2.21.6で導入されました。
NoProxy
プロキシサーバーをバイパスするホスト名パターンを指定します(例:Amazon S3アクセスをバイパスするには、
.amazonaws.com
)。注釈
Snowflake ODBC ドライバーは、
NoProxy
値をカールオプションCURLOPT_NOPROXY
に渡します。NoProxy
値の形式は こちら にあります。Proxy
ODBC ドライバーを使用するクライアント用に、プロキシサーバーを
<ホスト>:<ポート>
の形式で指定します。注釈
Windowsでは、 ODBC ドライバーがインストールされると、
LogLevel
およびLogPath
のエントリが作成され、デフォルト値が入力されます。ただし、インストール中にProxy
のエントリは作成されません。ドライバーで使用するプロキシを指定するには、ドライバーレジストリキーにエントリを手動で追加する必要があります。1つ以上の IP アドレスまたは URLs のプロキシをバイパスするには、 NoProxy パラメーターを追加します。
接続パラメーター¶
必須の接続パラメーター¶
<名前>
(データソース)DSN の名前を指定します。
port
(ポート)ドライバーがSnowflake通信をリッスンするポートを指定します。
注釈
443
のデフォルトのPort
値を変更する必要はありません。pwd
(パスワード)Snowflakeに接続するにはパスワードが必要です。ただし、セキュリティおよび認証上の理由により、 DSN 定義内にパスワード認証情報を直接保存することを強くお勧めします。
通常、認証情報は、Snowflakeへの接続を試行しているクライアントアプリケーションによってプログラムでドライバーに渡されます。
注釈
Windowsでは、 ODBC ドライバーは Data Source Administration ツールの Password フィールドを表示します。ただし、ドライバーはフィールドに入力された値を保存 しません 。代わりに、ドライバーは接続時にログイン認証情報を提供する必要があります。
server
(サーバー)アカウントの ホスト名 を次の形式で指定します。
account_identifier.snowflakecomputing.com
アカウント識別子については、 アカウント識別子 をご参照ください。
uid
(ユーザー)認証するSnowflakeユーザーのログイン名を指定します。
オプションの接続パラメーター¶
BROWSER_RESPONSE_TIMEOUT
外部ブラウザーで認証応答を待つ秒数を指定します。
デフォルトは120です。
CLIENT_OUT_OF_BAND_TELEMETRY_ENABLED=<ブール値>
アウトオブバンドテレメトリを有効にするかどうかを指定します。
デフォルトは
true
です
CLIENT_SESSION_KEEP_ALIVE=<ブール値>
非アクティブな状態が一定時間続いた後、現在のセッションをアクティブのままにするか、ユーザーに再度ログインさせるかを指定します。値が
true
の場合、Snowflakeは、ユーザーからのアクティビティがない場合でも、セッションを無期限にアクティブに保ちます。値がfalse
の場合、ユーザーは4時間の非アクティブ後に再度ログインする必要があります。デフォルトは
false
です。
database
(データベース)ドライバーによって開始されたセッションに使用するデフォルトのデータベースを指定します。
maxHttpRetries
(データベース)HTTP リクエストに失敗したクエリに対して、エラーを返すまでの HTTP の最大再試行回数を指定します。
maxHttpRetries=0
に設定すると再試行制限が解除されますが、その場合は、失敗した HTTP 呼び出しをドライバーが無限に再試行する危険があります。デフォルト値は7です。
role
(ロール)ドライバーによって開始されたセッションに使用する既定のロールを指定します。指定されたロールは、ドライバーの指定されたユーザーに割り当てられたロールでなければなりません。指定されたロールがユーザーに割り当てられたロールのいずれとも一致しない場合、ドライバーによって開始されたセッションには最初はロールがありません。ただし、ロールはセッション内からいつでも指定できます。
schema
(スキーマ)ドライバーによって開始されたセッションに使用するデフォルトのスキーマを指定します。
デフォルトは
public
です。
SecondaryRoles
(ロール)ドライバーによって開始されたセッションに使用するセカンダリロールを指定します。ロールは、ドライバーの指定されたユーザーにすでに付与されている必要があります。セカンダリロールは、
USE SECONDARY ROLES
コマンドを使用して、ユーザーセッション内からアクティブ化することもできます。可能な値は次のとおりです。
すべて: ユーザーに付与されたすべてのロール。
なし: ロールの許可なし(セカンダリロールを無効化)。
tracing
(トレース)ドライバートレースファイルに記録される詳細レベル:
0 = トレースの無効化
1 = 致命的なエラーのみトレース
2 = エラートレース
3 = 警告トレース
4 = 情報トレース
5 = デバッグトレース
6 =詳細トレース
warehouse
(ウェアハウス)ドライバーによって開始されたセッションに使用するデフォルトのウェアハウスを指定します。
追加の接続パラメーター¶
注釈
Windowsでは、これらの追加の接続パラメーターは、Windowsレジストリで(regedit を使用して)設定できます。
macOS またはLinuxでは、他の接続パラメーターと同様に、 odbc.ini
ファイルで設定します。
allowEmptyProxy
以下のセクションで説明するように、 proxy と no_proxy 接続パラメーターに空の値を許可するかどうかを指定します。
この値を設定すると、以下のような効果が得られます。
true
: ドライバーは空のプロキシ値を有効なプロキシ設定として扱い、既存の設定や環境変数を上書きします。false
: ドライバーは空のプロキシ値を無視し、指定された構成パラメータまたは環境変数を使用します。
デフォルトは
true
です。application
Snowflakeパートナーによる使用のみ : ODBC を介して接続するパートナーアプリケーションの名前を指定します。
このパラメーターは、
SQLSetConnectAttr()
関数を呼び出すことでも設定できます。詳細については、 Snowflake固有のSQLSetConnectAttr 関数の動作 をご参照ください。authenticator
ユーザーのログイン認証情報の確認に使用する認証方式を指定します。
snowflake
(デフォルト)は、内部Snowflake認証方式を使用します。externalbrowser
から 自分のウェブブラウザーを使用 して、Okta、AD FS、またはアカウントのために定義されている他の SAML 2.0準拠の識別プロバイダー(IdP)を認証します。注釈
Snowflake ODBC ドライバーは、Microsoft Excelと MacOS を使用した
externalbrowser
認証をサポートしていません。https://<Oktaのアカウント名>.okta.com
(つまり、ご使用のOktaのURLエンドポイント)から ネイティブOktaを介して認証 します(IdPがOktaの場合にのみサポート)。OAuthを使用して認証する
oauth
。OAuth が認証コードとして指定されている場合は、 OAuth トークンを指定するためにtoken
パラメーターも設定する必要があります( 以下を参照)。username_password_mfa
は MFA トークンキャッシングで認証します。詳細については、 多要素認証の使用 (このトピック内)をご参照ください。
デフォルトは
snowflake
です。Windowsでは、 ODBC データソース管理ツール を使用してこのパラメーターを設定できます。
認証の詳細については、 フェデレーション認証の管理/使用 および クライアント、ドライバー、およびコネクタ をご参照ください。
default_binary_size
、 .default_varchar_size
サイズが不明な BINARY または VARCHAR 列から値を取得および変換するときに、ドライバーが使用するデフォルトサイズをバイト単位で指定します。これらの型の列から値を取得するときにこれを設定します。
デフォルトでは、ドライバーは、サイズが決定されていない列の値を取得するためにメモリを割り当てるときに、デフォルトのサイズとして
8388608
(BINARY 列の場合)および16777216
(VARCHAR 列の場合)を使用します。これらの値に割り当てられるメモリの量を減らすために、
default_binary_size
とdefault_varchar_size
をこれらの型の列にある値の最大サイズに設定できます。注釈
これらの値を設定すると、実装行記述子(IRD)の
SQL_DESC_LENGTH
フィールドと、SQLDescribeCol/SQLColAttribute/SQLColAttributes
から返される対応する値のみが変更されます。長さが設定を超えても、ドライバーはデータ全体を返します。一方、アプリケーションは、これらのパラメーターで指定された長さに基づいてデータバッファーを割り当てることができ、バッファー内のスペースが不足していると、データが切り捨てられる可能性があります。ベストプラクティスとして、Snowflakeは、メモリの使用量を大幅に削減し、データ切り捨ての可能性を最小化するため、元のデフォルト値の16777216/8388608バイトの代わりに、通常のデータの最大サイズ(例: 4000または8000バイト)よりも大きめのデフォルトサイズに設定することをお勧めします。
これらの設定を使用して、SnowflakeデータベースでMicrosoft OLE DB プロバイダー(MSDASQL)を使用するときに発生する可能性がある、次のエラーを回避することもできます。
Requested conversion is not supported Cannot get the current row value of column
これらのパラメーターは、接続 構成パラメーター として指定できます(たとえば、 macOS およびLinux の
simba.snowflake.ini
において)。これが接続パラメーター および 構成パラメーターの両方として設定されている場合は、 DSN (または接続文字列)の接続パラメーターが優先されます。これらのパラメーターは、 ODBC ドライバーのバージョン2.23.2で導入されました。
get_size_threshold
GET コマンドでファイルをダウンロードするときに、ファイルを小さな部分に分割する最小ファイルサイズをメガバイト(MB)単位で指定します。このしきい値より小さいサイズのファイルは、マルチパートダウンロードを使用しません。
デフォルトは 5 (MB)です。
注釈
この値を接続パラメーターとして設定すると、対応する しきい値サイズ取得 構成パラメーターの値が上書きされます。
login_timeout
ログイン失敗エラーを返す前に、Snowflakeサービスに接続する際の応答を待機する時間を秒単位で指定します。
デフォルトは 300 (秒)です。
network_timeout
Snowflakeサービスと対話するときにエラーを返すまでの応答を待機する時間を秒単位で指定します。ゼロ(0)は、ネットワークタイムアウトが設定されていないことを示します。
デフォルトは 0 (秒)です。
retryTimeout
失敗した HTTP リクエストのあるクエリから HTTP の再試行エラーを返すまでの待機時間を秒単位で指定します。ゼロ(0)は、再試行タイムアウトが設定されていないことを示します。
デフォルトは 300 (秒)です。
no_proxy
プロキシサーバーのバイパスを許可するホスト名の末尾を指定します(例:
no_proxy=.amazonaws.com
は、Amazon S3アクセスがプロキシを通過する必要がないことを意味)。このパラメーターはワイルドカードをサポートしていません。指定する各値は、次のいずれかである必要があります。
ホスト名の末尾(または完全なホスト名)。例:
.amazonaws.com
myorganization-myaccount.snowflakecomputing.com
IP アドレス。例:
192.196.1.15
複数の値を指定する場合、値はコンマで区切る必要があります。次に例を示します。
no_proxy=localhost,.my_company.com,myorganization-myaccount.snowflakecomputing.com,192.168.1.15,192.168.1.16
注釈
このパラメーターはプロセスに適用されます。別の接続が同じプロセスを共有する場合、プロキシ設定は同一である必要があります。そうでない場合、動作は予測できません。
odbc_use_standard_timestamp_columnsize
このブール値パラメーターは、 SQL_TYPE_TIMESTAMPに対して返される列サイズ(文字数)に影響します。このパラメーターをtrueに設定すると、ドライバーは ODBC 標準に従って29を返します。このパラメーターを
false
に設定すると、ドライバーは35を返します。これにより、タイムゾーンオフセット用のスペースが許可されます(例: 「-08:00」)。この値は、odbc.iniファイル(LinuxまたはmacOS)またはMicrosoft Windowsレジストリだけでなく、接続文字列経由でも設定できます。
デフォルトは
false
です。passcode
多要素認証に使用するパスコードを指定します。
多要素認証の詳細については、 多要素認証(MFA) をご参照ください。
passcodeInPassword
多要素認証のパスコードをパスワードに追加するかどうかを指定します。
on
(またはtrue
)は、パスコードが追加されることを指定します。off
(またはfalse
)またはその他の値は、パスコードが追加されないことを指定します。
デフォルト値は
off
です。
proxy
ODBC からのすべての通信がプロキシサーバーを使用するように、プロキシサーバー URL を
http://<ホスト名>:<ポート>/
または<ホスト名>:<ポート番号>
の形式で指定します。注釈
このパラメーターはプロセスに適用されます。別の接続が同じプロセスを共有する場合、プロキシ設定は同一である必要があります。そうでない場合、動作は予測できません。
put_compresslv
ODBC ドライバーが PUT コマンドによりデータを転送するときに使用する圧縮率を指定します。このパラメーターは、デフォルトのgzip圧縮レベルを上書きします。
put_compresslv
を指定しない場合、 ODBC ドライバーはデフォルトの圧縮レベルを使用します。有効な値は、
-1
から9
です。デフォルト値は-1
で、デフォルトのZ_DEFAULT_COMPRESSION
を指定します。値
0
から9
は、カスタム圧縮率を指定します。0
により、 ODBC ドライバーはより低い圧縮率を使用し、9
はより高い圧縮率を使用します。より高い圧縮率を使用すると、データ転送速度が遅くなります。このパラメーターは、 構成パラメーター として指定することもできます(例: macOS およびLinux の
simba.snowflake.ini
内)。これが接続パラメーター および 構成パラメーターの両方として設定されている場合は、 DSN (または接続文字列)の接続パラメーターが優先されます。このパラメーターは、 ODBC ドライバーのバージョン2.23.3で導入されました。
put_fastfail
PUT コマンドとワイルドカード文字を使用して一度に複数のファイルをアップロードし、エラーが発生したときにドライバーがファイルのアップロードを停止するようにする場合は、これを
true
に設定します。デフォルト値は
false
です。これは、1つのファイルでエラーが発生した場合、ドライバーは残りのファイルのアップロードを続行することを意味します。このパラメーターは、 ODBC ドライバーのバージョン2.22.3で導入されました。
ODBC ドライバーのバージョン2.22.5では、このパラメーターを 構成パラメーター として指定することもできます(たとえば、 macOS およびLinux の
simba.snowflake.ini
内)。これが接続パラメーター および 構成パラメーターの両方として設定されている場合は、 DSN (または接続文字列)の接続パラメーターが優先されます。
put_maxretries
コマンドが失敗した場合に、ドライバーが PUT コマンドを再試行する回数を指定します。
デフォルト値は 5 です。
このパラメーターの有効な値の範囲は
0
から100
です。この範囲外の値を指定すると、ドライバーはデフォルト値の5
を使用します。このパラメーターは、 ODBC ドライバーのバージョン2.22.3で導入されました。
ODBC ドライバーのバージョン2.22.5では、このパラメーターを 構成パラメーター として指定することもできます(たとえば、 macOS およびLinux の
simba.snowflake.ini
内)。これが接続パラメーター および 構成パラメーターの両方として設定されている場合は、 DSN (または接続文字列)の接続パラメーターが優先されます。
put_tempdir
PUT コマンドリクエストに使用する一時ディレクトリを指定します。ドライバーは、この一時ディレクトリを使用して一時圧縮ファイルを作成してから、それらのファイルをSnowflakeにアップロードします。
このパラメーターが設定されていない場合、ドライバーは、一時ディレクトリ
/tmp/snowflakeTmp_username
を作成して使用します。ここで、username
は、オペレーティングシステムにおける現在のユーザーのユーザー名です。このパラメーターは、 構成パラメーター として指定することもできます(例: macOS およびLinux の
simba.snowflake.ini
内)。これが接続パラメーター および 構成パラメーターの両方として設定されている場合は、 DSN (または接続文字列)の接続パラメーターが優先されます。このパラメーターは、 ODBC ドライバーのバージョン2.23.1で導入されました。
query_timeout
エラーを返す前に、クエリが完了するまで待機する時間を秒単位で指定します。ゼロ(0)は無期限に待機することを示します。
デフォルトは 0 (秒)です。
token=<文字列>
認証に使用する OAuth トークンを指定します。
<文字列>
はトークンです。このパラメーターは、authenticator=oauth
パラメーターが設定されている場合にのみ必要です。デフォルトはありません。
validateSessionParam
次の セッション接続パラメーター のいずれかが無効な場合の応答方法を指定します。
可能な値は次のとおりです。
false
(デフォルト): 正常に接続しますが、database
およびschema
のパラメーター値を空の文字列に設定し、warehouse
パラメーターをデフォルト値に設定します。ウェアハウスの詳細については、 セッションでのウェアハウスの使用 をご参照ください。true
: 接続を拒否し、エラーをスローします。
SnowCD を使用したSnowflakeへのネットワーク接続の確認¶
ドライバーを設定したら、 SnowCD を使用して、Snowflakeへのネットワーク接続を評価およびトラブルシューティングできます。
初期設定プロセス中にオンデマンドで SnowCD をいつでも使用して、Snowflakeへのネットワーク接続を評価およびトラブルシューティングできます。
プロキシサーバー経由での接続¶
プロキシサーバー接続を構成する手順は、オペレーティングシステムとドライバーのバージョンによって異なります。
オペレーティングシステム |
ドライバーのバージョン |
サポートされている手順 |
---|---|---|
Linux |
2.16.0(2018年5月3日リリース)またはそれ以上 |
|
2.13.18(2018年2月7日リリース)~2.15.0(2018年4月30日リリース) |
||
2.13.17またはそれ以下 |
||
macOS |
2.16.0(2018年5月3日リリース)またはそれ以上 |
|
2.14.0(2018年3月28日リリース)~2.15.0(2018年4月30日リリース) |
||
2.13.21またはそれ以下 |
||
Windows |
2.16.0(2018年5月3日リリース)またはそれ以上 |
|
2.15.0(2018年4月30日リリース) |
||
2.14.0またはそれ以下 |
注釈
上記の ODBC ドライバーの最新バージョンは、リストされている構成オプションのいずれかをサポートしています。オプションは優先順にリストされています。複数のオプションが定義されている場合、優先順位が最も高い設定が適用されます。
接続パラメーターの使用¶
プロキシサーバー経由で接続するには、次の接続パラメーターを DSN に追加します。
proxy
no_proxy
例:
[connection] Description = SnowflakeDB Driver = SnowflakeDSIIDriver Locale = en-US server = myorganization-myaccount.snowflakecomputing.com proxy = http://proxyserver.company:80 no_proxy = .amazonaws.com
パラメーターの説明については、 接続パラメーター をご参照ください。
構成パラメーターの使用¶
注釈
これらのパラメーターは、最新の ODBC ドライバーバージョンでは廃止されました(つまり、サポートなし)。 プロキシサーバーを介した接続 で、サポートされているオプションのテーブルをご参照ください。ドライバーをアップグレードするときに、環境変数または接続パラメーターを使用してプロキシサーバー設定を構成します。
プロキシサーバー経由で接続するには、次の構成パラメーターを追加します。
Proxy
NoProxy
パラメーターの説明については、 構成パラメーター をご参照ください。
環境変数の使用¶
プロキシサーバー経由で接続するには、次の環境変数を構成します。
http_proxy
https_proxy
no_proxy
注釈
これらの環境変数は、Linuxおよび macOSで大文字と小文字が区別されるため、小文字で設定する必要があります。Windowsの場合、環境変数は大文字と小文字を区別しません。
例:
Linuxまたは macOS:
export http_proxy=http://proxyserver.company.com:80 export https_proxy=http://proxyserver.company.com:80
プロキシサーバーでユーザー名とパスワードが必要な場合は、認証情報を含めます。たとえば、
export https_proxy=http://username:password@proxyserver.company.com:80
Windows:
set http_proxy=http://proxyserver.company.com:80 set https_proxy=http://proxyserver.company.com:80
プロキシサーバーでユーザー名とパスワードが必要な場合は、認証情報を含めます。たとえば、
set https_proxy=http://username:password@proxyserver.company.com:80
オプションで、特定の通信のプロキシをバイパスするように no_proxy
を設定できます(例:Amazon S3アクセスをバイパスするには、 no_proxy=.amazonaws.com
)。
認証でのシングルサインオン(SSO)の使用¶
シングルサインオン(SSO)を使用するようにSnowflakeを構成 している場合、認証に SSO を使用するようにクライアントアプリケーションを構成できます。詳細については Snowflakeに接続するクライアントアプリケーションでの SSO の使用 をご参照ください。
多要素認証の使用¶
Snowflakeは、 MFA トークンキャッシングと SSO の組み合わせを含む、 MFA トークンのキャッシングをサポートしています。
詳細については、 MFA トークンキャッシングを使用して認証中のプロンプトの数を最小限に抑える --- オプション をご参照ください。
キーペア認証の使用¶
ODBC ドライバーは、キーペア認証とキーローテーションをサポートします。
開始するには、 キーペア認証とキーペアローテーション に示すように、キーペア認証の初期構成を完了します。
ドライバーのデータソース名(DSN)エントリを変更します。DSN エントリの詳細については、ご使用のオペレーティングシステムに該当するトピックをご参照ください。
次の(大文字と小文字を区別する)パラメーターを追加します。
AUTHENTICATOR = SNOWFLAKE_JWT
JSON Webトークン(JWT)でのキーペア認証を使用してSnowflake接続を認証するように指定します。
JWT_TIME_OUT = integer
オプション。Snowflakeがタイムアウトになるまで JWT の受信を待機する時間の長さ(秒単位)を指定します。その場合、認証は失敗し、ドライバーは
Invalid JWT token
エラーを返します。エラーの繰り返し発生を解決するには、パラメーター値を増やします。デフォルト:30
PRIV_KEY_FILE = path/rsa_key.p8
作成した秘密キーファイル(つまり、
rsa_key.p8
)へのローカルパスを指定します。DSN に設定された値は、
SQLSetConnectAttr()
関数を呼び出すことで上書きできます。詳細については、 Snowflake固有のSQLSetConnectAttr関数の動作 をご参照ください。PRIV_KEY_FILE_PWD = <password>
秘密キーファイルをデコードするパスコードを指定します。
このパラメーターは、パラメーター PRIV_KEY_FILE も設定されている場合にのみ設定する必要があります。
DSN に設定された値は、
SQLSetConnectAttr()
関数を呼び出すことで上書きできます。詳細については、 Snowflake固有のSQLSetConnectAttr関数の動作 をご参照ください。
設定を保存します。
ログファイルの管理¶
発生する可能性のある問題を追跡するために、 ODBC ドライバーへのログインを有効にすることができます。ODBC ドライバーは、ログの設定とログファイルの管理に使用できる次の構成オプションを提供します。
EnablePidLogFileNames: プロセス ID をログファイルの名前に追加します。
LogFileCount: 保存するログファイルの最大数を設定します。
LogFileSize: ログファイルの最大サイズを指定します。
LogLevel: ログに記録する情報のタイプを指定します。
LogPath: ログファイルの場所を設定します。
これらのパラメーターを使用して、ログファイルの名前付け、格納、およびローテーションの方法を管理できます。新しく作成されたログファイルに置き換える前に、保持するログファイルのサイズと数を指定できます。次の例では、プロセス ID をファイル名に追加して一意性を確保し、最大ファイルサイズを 30MB に設定し、100個の最新のログファイルを保持します。
EnablePidLogFileNames = true # Appends the process ID to each log file
LogFileSize = 30,145,728 # Sets log files size to 30MB
LogFileCount = 100 # Saves the 100 most recent log files
OCSP コネクタまたはドライバーバージョンの確認¶
Snowflakeは、Snowflakeへの接続の際、 OCSP を使用して証明書チェーンを評価します。ドライバーまたはコネクタのバージョンとその構成により、 OCSP の動作が決まります。ドライバーまたはコネクタのバージョン、それらの構成、および OCSP の動作の詳細については、 OCSP 設定 をご参照ください。
OCSP 応答キャッシュサーバー¶
注釈
OCSP 応答キャッシュサーバーは現在、Snowflake ODBC ドライバー2.15.0以上でサポートされています。
Snowflakeクライアントは、実際にデータを転送する前に安全な接続を確立する「ハンドシェイク」を使用して、Snowflakeサービスエンドポイントへのすべての接続を開始します。ハンドシェイクの一部として、クライアントはサービスエンドポイントの TLS 証明書を認証します。証明書の失効ステータスは、 CA (認証機関)の OCSP (オンライン証明書ステータスプロトコル)サーバーの1つにクライアント証明書リクエストを送信することにより確認されます。
OCSP サーバーからの応答が妥当な時間を超えて遅延すると、接続エラーが発生します。次のキャッシュは失効ステータスを保持し、これらの問題の軽減に役立ちます。
プロセスの存続期間中保持されるメモリキャッシュ。
ファイルキャッシュ。キャッシュディレクトリ(例:
~/.cache/snowflake
または~/.snowsql/ocsp_response_cache
)が削除されるまで保持します。Snowflake OCSP 応答キャッシュサーバー。 CA の OCSP サーバーから OCSP 応答を1時間ごとに取得し、24時間保存します。クライアントは、このサーバーキャッシュから特定のSnowflake証明書の検証ステータスをリクエストできます。
重要
サーバーポリシーでほとんどまたはすべての外部 IP アドレスおよびウェブサイトへのアクセスが拒否された場合、通常のサービス操作を許可するには、キャッシュサーバーアドレスを許可リストに登録することが 必須 です。キャッシュサーバーのホスト名は
ocsp*.snowflakecomputing.com:80
です。何らかの理由でキャッシュサーバーを無効化する必要がある場合は、
SF_OCSP_RESPONSE_CACHE_SERVER_ENABLED
環境変数をfalse
に設定します。値は大文字と小文字が区別され、小文字にする 必要がある ことに注意してください。
キャッシュレイヤーに OCSP 応答が含まれていない場合、クライアントは CAの OCSP サーバーから検証ステータスを直接取得しようとします。