なぜ重要か
従来は、direct-linkやODBC 2.xアプリケーションでSQLFreeConnectまたはSQLFreeEnvを利用する場合の互換性や、各種Snowflake型のメタデータ返却値に差異がありました。今回のリリースでは、これらのODBC APIとメタデータの挙動が補正され、SQLCancelも実行経路自身がサーバー側の文を中止する方式に変わります。
対象となるチーム
- ODBCドライバーを配布・運用するプラットフォームチーム
- BI・ETL・帳票製品の接続担当者
- ODBC 2.xまたはdirect-linkアプリケーションの保守担当者
- Snowflake接続の性能・障害対応を担うDBAおよびSRE
提供条件
- 4.0.0-rc2は2026年9月1日公開の第2回public previewで、release candidateとして提供されています。
- 3.xとは別にダウンロードする新しいバージョン系列です。
- 同一マシンにインストールすると3.xドライバーを置き換えるため、専用ホスト、VM、またはコンテナでの検証が必要です。
- エディション、リージョン、追加の前提機能についてはリリースノートに記載なし。
ユースケース
- Driver Managerを使わずにドライバーへ直接リンクする既存アプリケーションで、SQLFreeConnectとSQLFreeEnvの動作を検証する。
- 長時間クエリを中断するBIや運用ツールで、SQLCancelが早期に戻る新しいキャンセル動作と、対象文がHY008を返すことを確認する。
- NUMBERまたはDECIMALの列定義を参照するETL・スキーマ同期ツールで、SQLColumnsのBUFFER_LENGTHがprecision + 2になることを検証する。
- VARIANT、OBJECT、ARRAY、GEOGRAPHY、GEOMETRYを扱う汎用メタデータツールで、COLUMN_SIZE、BUFFER_LENGTH、CHAR_OCTET_LENGTH、TYPE_NAMEの返却値を確認する。
仕組みと使い方
ODBC Driver 4.0.0-rc2は、Snowflake ODBC Driver built on the Universal Coreのインストール手順に従って、3.xとは別系統のドライバーとして取得・導入します。ただし同一マシンでは3.xを置き換えるため、検証環境を分離してください。
アプリケーション側では、ODBC 2.x APIのSQLFreeConnectとSQLFreeEnvを従来どおり呼び出せます。これらはそれぞれSQLFreeHandle(SQL_HANDLE_DBC, ...)とSQLFreeHandle(SQL_HANDLE_ENV, ...)の薄いラッパーとして実装されています。
SQLCancelはcore operation handle経由でキャンセルを通知し、通知後は中止処理の完了を待たずに戻ります。一方、キャンセル対象の文を実行している呼び出しは、サーバー側への中止発行が完了するまで戻らず、HY008を報告します。なお、リリースノートに具体的なインストールコマンドや接続文字列の例は記載されていません。
導入ステップ
- Snowflake ODBC Driver built on the Universal Coreのインストール手順、Configuration differences、Behavior differencesを確認する。
- 3.xを使用している本番ホストとは分離した専用ホスト、VM、またはコンテナを用意する。
- 4.0.0-rc2を導入し、既存のDSN、接続文字列、認証方式、ログ設定を検証環境へ再現する。
- SQLFreeConnect、SQLFreeEnv、SQLCancelを使用する代表的なアプリケーション処理を実行し、戻り値と終了タイミングを確認する。
- SQLColumns、SQLProcedureColumns、SQLGetTypeInfoの結果を3.xと比較し、利用製品のメタデータ解釈に影響がないか確認する。
運用上の注意
- Previewかつrelease candidateであり、提供ステータスの詳細や本番利用可否はリリースノートに記載されていません。
- SQLCancelはキャンセル要求の処理完了を待たずに戻るため、呼び出し元が戻った時点で対象文の終了処理全体が完了したとは限りません。
- 4.xの導入は同一マシン上の3.xを置き換えるため、既存のODBCアプリケーションへ影響する可能性があります。
- 4.xでは3.xに対するbreaking behavior changesがあり、OCSP固有の接続パラメーターは受け付けられません。
- 証明書失効確認はCRL方式で、デフォルトでは無効です。既存のセキュリティ要件との整合性を確認してください。
制約事項
- 4.0.0-rc2はpublic previewであり、3.xと同等の安定性や互換性が保証されるとはリリースノートに記載されていません。
- 3.xとの完全互換ではなく、動作差異の完全な一覧はBehaviorDifferences.yamlで確認する必要があります。
- GEOGRAPHYやGEOMETRYなどのunsupported typesは、メタデータ上のDATA_TYPEがSQL_VARCHARとして返されます。
- エディション、リージョン、対応OS、利用可能な配布パッケージの詳細は、提示されたリリースノートに記載なし。
次に確認すること
- 公式のSnowflake ODBC Driver built on the Universal Coreで、対応プラットフォーム、入手方法、インストール手順を確認する。
- Configuration differencesとBehavior differences、およびBehaviorDifferences.yamlを読み、既存の接続設定と認証方式の差分を洗い出す。
- 専用の検証環境で3.xとのAPI戻り値、キャンセル、メタデータ結果、ログ出力を比較する。
- 本番導入の可否、Preview利用に関するSnowflakeのサポート条件や社内変更承認要件を確認する。
公式情報
仕様・提供条件は更新される可能性があります。導入前に必ず公式リリースノートを確認してください。
https://docs.snowflake.com/release-notes/clients-drivers/odbc-2026