2023年の .NET Driver リリースノート

この記事には、 .NET Driver のリリースノートが含まれています。また、該当する場合は以下が含まれます。

  • 動作の変更

  • 新機能

  • 顧客向けバグ修正

Snowflake は、 .NET Driver の更新にセマンティックバージョニングを使用します。

バージョン2.1.5(2023年12月18日)

新機能および更新

  • なし

バグ修正

  • 証明書失効チェックを有効にする際の問題を修正しました。

バージョン2.1.4(2023年12月05日)

新機能および更新

  • Arrow形式を有効にする方法についてのドキュメントを追加しました。

バグ修正

  • 接続パラメーターに、アカウント名の形式の検証を実装しました。

  • クエリコンテキストキャッシュへのアクセスの同期を追加しました。

バージョン2.1.3(2023年11月15日)

新機能および更新

  • 失敗した接続リクエストに対する再試行の頻度を管理するためのサポートを追加しました。

    • デフォルト値が300秒である RETRY_TIMEOUT パラメーターを追加しました。

    • ドライバーが CONNECTION_TIMEOUTmaxHttpRetries の接続パラメーターを使用する方法を更新し、 CONNECTION_TIMEOUT のデフォルト値を300秒に変更しました。

  • Arrow形式が プレビュー機能 として使用可能になりました(将来的にはデフォルトで有効になる予定です)

バグ修正

  • HTAP メタデータの最適化で予期しない例外が発生した場合の失敗に関する問題を修正しました。

  • データベースやスキーマの変更時に発生する HTAP の問題を修正しました。

  • デッドロックの可能性を回避するため、プールの破棄時における非同期クリーンアップを実装しました。

  • GCP の PUT コマンドの紛らわしいエラー情報を削除しました。

  • SnowflakeDbConnection.Dispose の不正な動作を修正しました。

バージョン2.1.2(2023年9月27日)

新機能および更新

  • ハイブリッドトランザクション処理と分析処理のサポートを追加しました。

    • クエリリクエストの再試行に再試行コンテキストを追加しました。

    • クエリコンテキストキャッシュを追加しました。

  • SnowflakeDbCommandGetQueryId() メソッドを追加し、 SnowflakeDbDataReader の既存の機能と一致するように、最近実行されたクエリのクエリ ID を取得するようにしました。

バグ修正

  • Azureガバメントクラウドアカウントの内部ステージで PUT/GET コマンドが失敗することがある問題を修正しました。

  • PUT/GET 操作におけるメモリ使用量が減少しました。

  • データのアップロードおよびダウンロード時に、ファイルの自動圧縮などにより、アップロード元ファイルとダウンロード先ファイルが異なる場合に発生することがある問題を修正しました。

バージョン2.1.1(2023年8月22日)

新機能および更新

  • なし。

バグ修正

  • テスト接続が正常に作成された場合に再利用されない問題を修正しました。

  • * および ? ワイルドカードがファイルパスで正しく機能しない問題を修正しました。

  • 外部ブラウザーの認証で、ドライバーがユーザー名とパスワードを誤ってリクエストする問題を修正しました。

バージョン2.1.0(2023年7月27日)

BCR (動作変更リリース)の変更

特定の条件下で、.NET ドライバーが HTTP リクエストを無限に再試行する場合がある問題を修正しました。以前は、停止中、.NET ドライバーは、リクエストが成功するか、誰かが操作を強制終了するまで、失敗した HTTP 呼び出しを継続的に再試行しました。

この変更により、executeとexecuteQuery呼び出しに起因する HTTP の無限再試行が無効になります。現在、.NETドライバーは、デフォルトで HTTP の再試行を7回に制限しています。お客様は、 MAXHTTPRETRIES 接続パラメーターを設定して、最大再試行回数をカスタマイズできます。 MAXHTTPRETRIES=0 を設定して再試行制限を解除することもできますが、その場合は、.NET ドライバーが、失敗した HTTP 呼び出しを無限に再試行する危険があります。

新機能および更新

  • GET コマンドにサブディレクトリを含むリモートパスの処理が改善されました。

バグ修正

  • ダーティな接続がクローズされて BeginTransaction メソッドが明示的に呼び出された場合に発生する可能性のある、接続プールに関する問題を修正しました。

  • HTTPClientHander での UseProxy に関する問題を修正しました。

  • BROWSER_RESPONSE_TIMEOUT 接続パラメーターを追加して、外部ブラウザーでの認証の問題を修正しました。デフォルトは120秒です。

  • サマータイム移行時の接続プールのタイムアウトに関する問題を修正しました。

バージョン2.0.25(2023年6月16日)

新機能および更新

  • なし

バグ修正

  • プロキシパスワードがSnowflakeログファイルに表示される場合がある問題を修正しました。

  • SnowflakeDbDataReader.HasRows() が、クエリ結果に有効な行があるかどうかにかかわらず、一部のクエリ型(例: SELECT)で常にtrueが返される問題を修正しました。

  • 接続プーリングが有効な場合に、断続的に発生する「Authentication token has expired」または「Session no longer exists」の問題を修正しました。

  • WinHttpHandler の使用を削除しました。

  • データの一部がダウンロードされた後にネットワークエラーが発生した場合など、チャンクのダウンロードの再試行に失敗することがある問題を修正しました。

  • チャンク再試行のダウンロードプロセスにおける問題を修正し、こうした再試行のテストを改善しました。

バージョン2.0.24(2023年5月23日)

新機能および更新

  • 複数の接続を並行して使用する場合に、各セッションのアクティビティをよりよく追跡できるように、セッション ID のログを追加しました。

バグ修正

  • 接続プーリングが有効な場合に、.NET アプリケーションが不正なエラーをスローする問題を修正しました。

  • 空のセッショントークンが原因で発生する401エラーの問題を修正しました。

バージョン2.0.23(2023年4月19日)

新機能および更新

  • サポートされるレガシーバージョンをバージョン4.7.1に変更しました。

バグ修正

  • client_session_keep_alive=true のときに、処理されない例外を.NET アプリケーションが終了する問題を修正しました。

  • 不要なロールバックによって COMMIT の中断される場合がある問題を修正しました。

  • 接続プーリングが有効な場合に、接続がセッションを終了できない問題を修正しました。

  • Dispose() の前に Close() を呼び出すと、プール内の接続が重複する問題を修正しました。

  • 必須の USER プロパティが提供されない場合に、エラーがスローされる問題を修正しました。

  • WinHttpHandler PlatformNotSupportedException を修正しました。.NET ドライバーは、.NET フレームワークのアプリケーションに対してのみ WinHttpHandler を使用するようになりました。

  • SSO ログインの接続文字列で、空の USER プロパティを渡すと、不正にエラーが発生する問題を修正しました。

  • 二重引用符で囲まれたスペースを含むデータベース名(例: "My DB ")が正しく扱われない問題を修正しました。

バージョン2.0.22(2023年3月22日)

新機能および更新

  • なし。

バグ修正

  • CLIENT_SESSION_KEEP_ALIVE=true を設定したアプリケーションで、接続を閉じたときにハングする問題を修正しました。

  • タイムアウトが発生した後、クエリの実行が断続的に失敗する問題を修正しました。

  • FIPS が有効な展開で、.NET ドライバーが PUT コマンドの実行に失敗する問題を修正しました。

  • 「System.Net.Http.WinHttpException (80072EE2, 12002): Error 12002 calling WINHTTP_CALLBACK_STATUS_REQUEST_ERROR」エラーをスローする.NET コネクタを修正しました。

  • https: プレフィックスを含まない AWS のエンドポイントにプレフィックスを追加することを開始しました。

  • README.md ファイルにある、 暗号化されていない秘密キー(ファイルから読み取り)を指定する例 を更新して、 Replace() 関数呼び出しを削除しました。

バージョン2.0.21(2023年2月22日)

新機能および更新

  • PUT および GET のクエリで GCS のアクセストークンを使用できるようにサポートを追加しました(#585)。

バグ修正

  • 例外処理を改善し、スタックトレースを保持するようにしました。

バージョン2.0.20(2023年1月24日)

新機能および更新

  • 新しいOkta OIE のサポートを追加しました。

  • ログメッセージに queryid を含めることで、 JSON 解析時のエラーログを改善しました。

バグ修正

  • PUT/GET で、アップロードするファイルの圧縮形式が正しく判断されない問題を修正しました。

  • PUT/GET の結果の値が、適切なフィールドにマップされない問題を修正しました。

  • 終了コメントを含む SQL クエリをトリミングする際に、範囲外の問題が発生する問題を修正しました。

  • HTTP 429エラーの受信時にOkta認証コードを使用すると失敗する問題を修正しました。

  • DEFAULT_TIMEOUT_IN_SECOND セッションパラメーターを追加して、セッションのタイムアウトに関する問題を修正しました。