Microsoft JDBC Driver for SQL Server のリリース ノート

この記事では、Microsoft JDBC Driver for SQL Server のリリースを示します。 リリース バージョンごとに、変更された点とそれに関する説明が示されています。

12.6

Microsoft JDBC Driver 12.6.1 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 12.6.1 for SQL Server (tar.gz) のダウンロード

リリース番号: 12.6.1
リリース日: 2024 年 2 月 20 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

12.6 に準拠

コンプライアンスの変更 詳細
JDBC Driver 12.6 用の最新の更新のダウンロード。 GitHub、12.6.0
Maven Central
JDBC API 仕様 4.2 への完全準拠。 12.6 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。

たとえば、12.6 パッケージの mssql-jdbc-12.6.0.jre11.jar ファイルは、Java 11 (以降) で使用する必要があります。
Java Development Kit (JDK) バージョン 21.0、17.0、11.0 および 1.8 と互換性があります。 Microsoft JDBC Driver 12.6 for SQL Server は、JDK 17.0、11.0 および 1.8 に加え、Java Development Kit (JDK) バージョン 21.0 と互換性を持つようになりました。

12.6 のリリース

リリース番号: 12.6.1
リリース日: 2024 年 2 月 20 日

12.6.1 で修正された問題:

  • CallableStatements の 'EXEC' エスケープ構文を修正しました

Microsoft JDBC Driver 12.6.1 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 12.6.1 for SQL Server (tar.gz) のダウンロード

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

リリース番号: 12.6.0
リリース日: 2024 年 1 月 31 日

Microsoft JDBC Driver 12.6.0 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 12.6.0 for SQL Server (tar.gz) のダウンロード

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

12.6 の新機能

機能 詳細
Java 21 のサポート ドライバーは、Java Development Kit (JDK) 17.0、11.0、1.8 に加え、JDK バージョン 21.0 と互換性を持つようになりました。
新しい接続プロパティを使用して、ストアド プロシージャの直接呼び出しを許可する useFlexibleCallableStatements ドライバーは、プロシージャをラップするのではなく、ストア プロシージャを直接呼び出すようになり、これにより、プロシージャ exec sp_executesqlが簡素化され、パフォーマンスが向上しました。
useDefaultJaasConfig 接続文字列プロパティを追加しました true に設定すると、追加の外部構成なしで、Kerberos 認証が許可されます。
useDefaultGSSCredential 接続文字列プロパティを追加しました true に設定すると、Kerberos 認証にネイティブ GSS-API を使用するときに、ドライバーがユーザーに代わって GSSCredential を作成できます。
calcBigDecimalPrecision 接続文字列プロパティを追加しました true に設定すると、ドライバーは、BigDecimal 入力の精度を計算できます。
接続オープンの再試行とアイドル接続の回復性再接続用の新しい名前付きロガーを追加しました 接続オープンの再試行では、リダイレクション ログ カテゴリが使用され、FINE ログ レベルで使用できます。 アイドル接続の回復性再接続では回復性ログ カテゴリが使用され、FINE または FINER ログ レベルで使用できます。

12.6 の変更点

Change 詳細
OSGi 環境での問題を防ぐために、IBM JDK のチェック方法を変更しました ベンダー名のみの確認から、ベンダー名と仮想マシン名の両方の確認に変更されました。
MSAL へのすべての呼び出しを、適切に同期しました ドライバーが余分な呼び出しを行ったり不要なダイアログを証明したりするのを防ぎます。
RMFAIL に変換する必要のあるエラーを追加しました "ピアによる接続のリセット" と "接続がタイムアウトしました" という、RMFAIL に相当するケースを追加しました
BulkCopy でのタイムスタンプの使用方法を変更しました BulkCopy のビヘイビアーを、Timestamp オブジェクトのシリアル化と逆シリアル化から、オブジェクトを直接使用するように変更し、多数のタイムスタンプを使用する場合のパフォーマンスを向上させました。
socketTimeout より適切により適切に小さくなるように loginTimeout を変更しました 以前は、socketTimeout は、loginTimeout から独立して動作していたため、ドライバーがタイムアウトするまでに予想よりも時間がかかった状況では混乱を招く可能性のある動作が発生していました。 これは、socketTimeout の上限が常に loginTimeout に等しくなるように修正されました。
PreparedStatement のキャッシュを調整し、実行前にクリアされるようにしました。 PreparedStatement キャッシュが正しくクリアされていなかったため、低頻度であることの他に、時間の経過とともにメモリの問題が発生する可能性があります。 この変更により、各実行前にキャッシュがクリーンアップされ、オブジェクトの蓄積が防止されます。
新しい Bouncycastle 依存関係にアップグレードされました 前者で、bcprov-jdk15onbcpkix-jdk15on から bcprov-jdk18onbcpkix-jdk18on までのアップグレードは、今後、更新されません。
更新された依存関係 azure-identityazure-security-keyvault-keysbouncycastleh2、および msal の依存関係のバージョンを更新しました。

12.6 の修正

Fix 詳細
e.getCause() の null チェックが見つからない問題を修正しました 例外に原因がない場合、代わりに、例外自体が渡されて、例外が失われないようにする問題が修正されました。 GitHub Issue #2299
IOBuffer のロックを修正し、発生する可能性のあるデッドロックの問題を防止しました 特定の状況で発生する可能性のあるデッドロック状態を防ぐために、IOBuffer (特に、disableSSL に関する) のロックの実装を修正しました。 GitHub Issue #2288GitHub Issue #2265
バッチ挿入のタイムスタンプと一括コピーの問題を修正しました 一括コピーによるバッチ挿入を使用して挿入されたときにタイムゾーンがタイムスタンプに正しく適用されない問題を修正しました。 GitHub Issue #2271
useBulkCopyForBatchInsert のゲッターとセッターの欠落を修正しました SQLServerConnectionSQLServerConnnectionPoolProxy の間で動作が同じである必要があるのに同じにならない場合に、後者で useBulkCopyForBatchInsert がゲッターとセッターを持っていないという問題を修正しました。 GitHub Issue #2245
キャッシュ データ (使用可能な場合) を利用できるよう、メタデータの一括コピー クエリを修正しました データがキャッシュされているにもかかわらず列メタデータの呼び出しが毎回呼び出される問題を修正しました。 GitHub Issue #2224
TVP 値の BigDecimal スケール チェックの欠落を修正しました - TVP 行の値を書き込むときに、入力値が BigDecimal スケールで適切にフィルター処理されない問題を修正しました。 GitHub Issue #2222
SQLServerDatabaseMetadata の schemaPattern を修正し、適切にエスケープされるようにしました schemaPattern が SQLServerDatabaseMetadata で適切にエスケープされていない唯一のパターンである問題を修正しました。 GitHub Issue #2186
Date 型から long 型に変換しようとしたときに null の SQLState が返される問題を修正しました xopenStates が true に設定されているときに、ドライバーが特定のインスタンスで予期される SQL-99 状態コードを返さない問題を修正しました。 GitHub Issue #2167
TOP を含むクエリの getMetaData エラーを修正しました クエリ内で TOP 修飾子を使用するときにドライバーが ParameterMetadata に関するエラーを返す問題を修正しました。 GitHub Issue #1776
バッチ挿入使用時のテーブル名の解析の問題を修正しました 空白が不足している insert ステートメントが、通常のケースでは正しく機能するが、batch inserts を使用すると、正しく機能しない問題を修正しました。 GitHub Issue #1534
ParameterMetadata と無効なインデックスの問題を修正しました ParameterMetadata が無効なインデックス 0 を適切にチェックせず、例外をスローする問題を修正しました。 GitHub Issue #1490
ActivityCorrelator の ActivityID の動作を修正しました ActivityID の定義方法と使用方法を修正して、他の Microsoft ドライバーの動作により一致させました。
バッチ挿入に一括コピーを使用する場合に計算列を無視するよう修正しました 以前は挿入が失敗し、それらの計算列を引用してエラーが返されていた場合に計算列を無視してバッチ挿入を許可するように、 BulkCopy の動作を修正しました。
Java キー ストアと Azure Key Vault を使用する場合の署名に関するドライバーの動作を修正しました Java キー ストアの使用時、および Java キー ストアと Azure Key Vault で使用するために列マスター キー メタデータに署名する (および生成された署名を返す) 新しい API を追加するときに、署名が正しく検証されない問題を修正しました
getObject() による DateTimeOffset の誤った変換を修正しました クラス引数として LocalDate/LocalTime/LocalDateTime を使用して DATETIMEOFFSET 列で ResultSet.getObject() を呼び出すと、列の値がローカルタイムゾーンに変換される問題を修正しました。

以前のリリース

12.4

Microsoft JDBC Driver 12.4.2 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 12.4.2 for SQL Server (tar.gz) のダウンロード

リリース番号: 12.4.2
リリース済み: 2023 年 10 月 27 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

12.4 に準拠

コンプライアンスの変更 詳細
JDBC Driver 12.4 用の最新の更新のダウンロード。 GitHub、12.4.0
Maven Central
JDBC API 仕様 4.2 への完全準拠。 12.4 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。

たとえば、12.4 パッケージの mssql-jdbc-12.4.0.jre11.jar ファイルは、Java 11 (以降) で使用する必要があります。
Java Development Kit (JDK) バージョン 20.0、17.0、11.0 および 1.8 と互換性があります。 Microsoft JDBC Driver 12.4 for SQL Server は、JDK 17.0、11.0 および 1.8 に加え、Java Development Kit (JDK) バージョン 20.0 と互換性を持つようになりました。

12.4 のリリース

リリース番号: 12.4.2
リリース日: 2023 年 9 月 21 日

12.4.2 で修正された問題:

  • IBM チェックをベンダー チェックに戻し、誤検知を除去するための vm 名チェックを追加しました

Microsoft JDBC Driver 12.4.2 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 12.4.2 for SQL Server (tar.gz) のダウンロード

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

リリース番号: 12.4.1
リリース日: 2023 年 8 月 24 日

12.4.1 の変更点

  • 準備済み SQL パラメーター名に自動間隔を適用

12.4.1 で修正された問題:

  • Azure SQL データベースの権限を借用したセキュリティ コンテキストでのメタデータ クエリ getUserName を修正
  • IBM JDK の検出に関する修正
  • Java キー ストアの署名が検証されないバグを修正し、signColumnMasterkeyMetadata API を JKS および AKV に追加
  • 元のリリースで欠落していたエラー文字列のローカライズを追加

Microsoft JDBC Driver 12.4.1 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 12.4.1 for SQL Server (tar.gz) のダウンロード

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

リリース番号: 12.4.0
リリース日: 2023 年 7 月 31 日

Microsoft JDBC Driver 12.4.0 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 12.4.0 for SQL Server (tar.gz) のダウンロード

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

12.4 の新機能

機能 詳細
Java 20 のサポート ドライバーは、Java Development Kit (JDK) 17.0、11.0、1.8 に加え、JDK バージョン 20.0 と互換性を持つようになりました。
アクセス トークン コールバック接続文字列プロパティを追加しました 接続文字列でコールバック実装クラスの名前を渡すことを許可することで、以前に実装されたアクセス トークン コールバックを補完します。
ActiveDirectoryServicePrincipalCertificate のサポートを追加しました 接続オプション authentication=ActiveDirectoryServicePrincipalCertificate を使用して Azure Identity ライブラリの ActiveDirectoryServicePrincipalCertificate をサポートすることで、ユーザー エクスペリエンスを向上させます。
XAER_RMFAIL の別のケースを追加 ドライバーが XAER_RMERR のエラーで XAException を返す場合がありました。 これに対処するために、XA エラー処理に追加のケースが追加されました。

12.4 の変更点

Change 詳細
トークンのフェッチ時に永続的なトークン キャッシュを使用するようにフェデレーション認証ロジックを更新しました この更新プログラムは、トークン フェッチ シナリオのパフォーマンスを向上させ、将来の MSAL バージョンとの互換性をより簡単に実現します。
ソケットタイムアウトがある場合にフェールオーバー パートナーの試行を許可します ソケットのタイムアウト後に、指定されたフェールオーバー パートナーとの再接続の試行を許可します。
パラメーター型定義を作成するときのパフォーマンスが向上しました buildParamTypeDefinitions で使用される配列と文字列ビルダーのサイズを事前計算し、不要な文字列の割り当てを削除することで、このメソッドを使用する場合のパフォーマンスが向上します。
LOGIN パケットで送信された serverName が instanceName を含むように変更されました serverNameLOGIN パケットの instanceName の末尾に追加されるようになりました。
サーバーがトランザクションをサポートしているかどうかを反映するように supportTransaction メソッドを更新 supportTransaction で使用されている構文が Azure Synapse でサポートされていなかったため、connection.rollback が Azure Synapse データベースで機能しなかった問題に対処しました。
空の文字列ではなくテーブル名が渡されるように、sp_cursor呼び出しを更新 一対多テーブルの更新時に ResultSet 行の一貫性のない更新が受信される問題に対処しました。
Azure Data Warehouse をチェックするための supportLikeEscapeClause() を更新 明示的にサポートされていないにもかかわらず、supportsLikeEscapeClause が AzureDW に対して true を返していた問題に対処しました。
最新の OSGi JDBC 仕様にアップグレードされました OSGi JDBC 仕様 8.1.0 への準拠を維持するために、osgi.compendium 5.0.0 から osgi.service.jdbc 1.1.0 にアップグレードします。
更新された依存関係 azure-identityazure-security-keyvault-keysgsonh2、および msal の依存関係のバージョンを更新しました。

12.4 の修正

Fix 詳細
BigDecimal に存在するパフォーマンスとメモリの問題を修正しました BigDecimal に関する 12.2 リリース以降のすべての変更を元に戻します。 この修正プログラムは、観察されたパフォーマンスの問題に対処するものです。 ユーザーは、以前に対処した切り捨ての問題を回避するために、BigDecimal を使用するときに注意する必要があります。 GitHub Issue #2176
encrypt=strict のサーバー証明書検証を修正しました encryptstrict に設定されている場合にサーバー証明書が正しく検証されるように修正しました。 GitHub Issue #2174
Azure DB でリダイレクト モードが設定されている場合に lockTimeout が有効にならない問題を修正しました lockTimeout が設定されている場合、以前と同様に、Azure の外部からの接続にのみ適用され、Azure 内からの接続には適用されないように修正しました。 GitHub Issue #2110
findSocketUsingThreading の使用時にスレッド数が多くなる問題を修正しました キャッチされない例外によって、アップストリームのスリープ呼び出しが中断され、再試行が短時間で発生する問題を修正しました。 GitHub Issue #2104
共有タイマーの競合状態を修正しました SharedTimer クラス内の潜在的な競合状態を修正しました。 GitHub Issue #2085
ストアド プロシージャ実行と結果を含まない metaQuery の戻り値に伴うエラーを修正 ストアド プロシージャの実行後に metaQuery が結果を返さなかった場合、パラメーター未定義エラーが発生する問題を修正しました。 GitHub Issue #2063
挿入で指定された列がテーブル スキーマと順序が異なる場合の無効なバッチ挿入を修正しました useBulkCopyForBatchInsert=true を使用すると列の混同と無効なデータが発生する可能性がある問題を修正しました。 GitHub Issue #1992
XAER_RMERR の代わりに XAER_RMFAIL を再スローする XA エラー処理を修正 XA トランザクションのコミット中に SQL Server がプライマリ ノードからスタンバイ ノードにフェールオーバーした場合、ドライバーがエラー コード XAER_RMERR で XAException を返す問題を修正しました。 GitHub Issue #1432
JDBC 仕様との一貫性を維持するためのアクティビティ ID とクライアント ID の動作の修正 アクティビティ ID の動作を修正し、プロセスの存続期間中は同じ状態を維持し、PRELOGIN で常にアクティビティ ID を送信し、新しい接続ごとにシーケンスをインクリメントするようにしました。 また、プロセスの存続期間中に保持するクライアント ID も修正されました。

12.2

Microsoft JDBC Driver 12.2.0 for SQL Server (zip) をダウンロードする
Microsoft JDBC Driver 12.2.0 for SQL Server (tar.gz) をダウンロードする

リリース番号: 12.2.0
リリース日: 2023 年 1 月 31 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

12.2 に準拠

コンプライアンスの変更 詳細
JDBC Driver 12.2 用の最新の更新プログラムのダウンロード。 GitHub、12.2.0
Maven Central
JDBC API 仕様 4.2 への完全準拠。 12.2 パッケージ内の jar は、Java のバージョンの互換性に従って名前付けされています。

たとえば、12.2 パッケージの mssql-jdbc-12.2.0.jre11.jar ファイルは、Java 11 (以降) で使用する必要があります。
Java Development Kit (JDK) バージョン 19.0、17.0、11.0、および 1.8 と互換性があります。 Microsoft JDBC Driver 12.2 for SQL Server は、JDK 17.0、11.0 および 1.8 に加え、Java Development Kit (JDK) バージョン 19.0 と互換性を持つようになりました。

12.2 のリリース

Microsoft JDBC Driver 12.2.0 for SQL Server (zip) をダウンロードする
Microsoft JDBC Driver 12.2.0 for SQL Server (tar.gz) をダウンロードする

リリース番号: 12.2.0
リリース日: 2023 年 1 月 31 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

12.2 の新機能

機能 詳細
Java 19 のサポート ドライバーは、JDK 17.0、11.0 および 1.8 に加え、Java Development Kit (JDK) バージョン 19.0 と互換性を持つようになりました。
アクセス トークン コールバックのサポートを追加しました クライアント コードで、アクセス トークンを返す DataSource にコールバックを登録できるようにします。
DefaultAzureCredential のサポートを追加しました 接続オプション authentication=ActiveDirectoryDefault を使用して Azure Identity ライブラリの DefaultAzureCredentialIntelliJCredential の両方をサポートすることで、ユーザー エクスペリエンスを向上させます。
日付/タイムスタンプ パラメーターに使用するデータ型を指定する新しい接続プロパティ datetimeParameterType を追加 接続プロパティ datetimeParameterType を追加しました。これにより、ユーザーは datetime または datetime2 への変換を明示的に指定できるようになり、古いデータベースでの互換性が向上しました。

12.2 の変更点

Change 詳細
ドライバーで Loom が使いやすくなりました synchronized(foo) を再入可能ロックに置き換え、Loom 使用時のパフォーマンスを向上させています。
マネージド ID 認証で Azure Identity ライブラリを使用する マネージド ID トークンを取得してキャッシュするためのドライバーの組み込みコードを Azure Identity ライブラリに置き換えます。 この変更により、ドライバーで以前にサポートされていたものに対するさらなる Azure サービスのマネージド ID のサポートが追加されます。
MSAL をオプションの依存関係に追加 msal4j を再びオプションの依存関係に追加しました。
更新された依存関係 azure-identityazure-security-keyvault-keysantlr4-runtimebcprov-jdk15onbcpkix-jdk15on および msal の依存関係のバージョンを更新しました。
ExtendedSocketOption クラスの動的にチェックに更新 ExtendedSocketOptions が見つからない場合に返されたエラー NoClassDefFoundError を修正しました。

12.2 での修正

Fix 詳細
データベース例外がスローされた場合の null SQL 状態とゼロ エラー コードを修正しました SQL エラーの後に、SQL 状態とエラー コードに正しくない情報が表示される問題を修正しました。 GitHub Issue #2015
unprocessedResponseCount がオーバーデクリメントされないようにアイドル接続の回復を修正 unprocessedResponseCountdoneToken.isFinal が true の場合にのみデクリメントする必要があり、それに関係なくデクリメントされていました。 GitHub Issue #1971
間違った SQLServer ホストへの接続を修正しました ドライバーが複数の SQLServer ホストに接続されているときに、間違ったホストへの接続が確立される可能性があるコンカレンシーの問題を修正しています。 GitHub Issue #1964
正しくない updateCount を修正 enablePrepareOnFirstPreparedStatementCall と prepexec と prepare の両方について、true と false の両方のケースで、正しくない更新カウントが発生する可能性があります。 GitHub Issue #1961
トラストストア パスワードの暗号化/暗号化解除難読化方法の並列処理の問題を修正 トラストストア パスワードの難読化で暗号化/暗号化解除するためのロックを追加しました。 GitHub Issue #1939
キャッシュ アカウント名の大文字と小文字の問題を修正しました アカウント名が大文字と小文字を区別して Microsoft 認証ライブラリに送信され、ログイン要求が繰り返される問題を修正しています。 GitHub Issue #1923
クエリのキャンセルのバグを修正しました バッチ クエリで間欠的に発生したクエリ キャンセルのバグを修正しました。 GitHub Issue #1896
呼び出し可能なステートメント エラーを修正 呼び出し可能なステートメント "インデックスが範囲外です" や "パラメーターが定義されていません" という内容のエラーを修正しました。 GitHub Issue #1871
結果セットをフェッチするときの DONE トークンのチェックを修正しました 以前のDONE_ERRORの修正で見落とされていたケースを追加しました。これは、セッションの強制終了に起因するサーバーからの DONE_ERROR ステータスを、ドライバーが無視していた問題に関するものです。 GitHub Issue #1846GitHub Issue #1505
バッチ実行時のすべての場合において batchParamValues を確実にクリア 一括更新を使用するときに、障害発生時にバッチが正しくクリアされなかった問題に対処しました。 GitHub Issue #1767
BigDecimal の使用時に送信される桁数を修正しました BigDecimal 値が既定で最大有効桁数で送信され、望ましくない小数点丸めになる可能性がある問題を修正しています。 GitHub Issue #1489GitHub Issue #942
すべてのケースで動作するように構成証明プロトコル NONE を修正しました NONE 構成証明プロトコルの背後にあるロジックが、特定のものだけでなく、すべてのケースで動作するように修正しました。
SecureStringUtil の競合状態を修正 SecureStringUtil の作成時の SecureStringUtil の競合状態を修正しました。

11.2

Microsoft JDBC Driver 11.2.3 for SQL Server (zip) をダウンロードする
Microsoft JDBC Driver 11.2.3 for SQL Server (tar.gz) をダウンロードする

リリース番号: 11.2.3
リリース日: 2023 年 1 月 12 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

11.2 に準拠

コンプライアンスの変更 詳細
JDBC Driver 11.2 用の最新の更新プログラムのダウンロード。 GitHub、11.2.0
Maven Central
JDBC API 仕様 4.2 への完全準拠。 11.2 パッケージ内の jar は、Java のバージョンの互換性に従って名前付けされています。

たとえば、11.2 パッケージの mssql-jdbc-11.20.jre17.jar ファイルは、Java 17 で使用する必要があります。
Java Development Kit (JDK) バージョン 18.0、17.0、11.0 および 1.8 と互換性があります。 Microsoft JDBC Driver 11.2 for SQL Server は、Java Development Kit (JDK) 17.0、11.0、1.8 に加え、JDK バージョン 18.0 と互換性を持つようになりました。

11.2 のリリース

リリース番号: 11.2.3
リリース日: 2023 年 1 月 12 日

11.2.3 で修正された問題:

  • データベース例外がスローされた場合の null SQL 状態とゼロ エラー コードを修正しました
  • バッチ クエリでタイムアウトが発生した場合の正しくない更新数を修正しました
  • Azure Functions を使う場合の正しくないトークンの有効期限を修正しました
  • 間違った SQLServer ホストへの接続を修正しました

リリース番号: 11.2.2
リリース日: 2022 年 12 月 15 日

11.2.2 で修正された問題:

  • アイドル接続の回復性のバグを修正しました
  • アイドル再接続時に準備されたステートメント ハンドル キャッシュをクリアする
  • 範囲外の呼び出し可能なステートメント インデックスのエラーを修正しました
  • 結果セットをフェッチするときの DONE トークンのチェックを修正しました
  • 断続的なエラー "暗号化解除中の内部エラー: タグが一致しません" を修正しました

Microsoft JDBC Driver 11.2.2 for SQL Server (zip) をダウンロードする
Microsoft JDBC Driver 11.2.2 for SQL Server (tar.gz) をダウンロードする

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

リリース番号: 11.2.1
リリース日: 2022 年 9 月 8 日

11.2.1 で修正された問題:

  • com.microsoft.azure:msal4j をオプションの依存関係にしました
  • バッチ クエリで間欠的に発生したクエリ キャンセルのバグを修正しました

Microsoft JDBC Driver 11.2.1 for SQL Server (zip) をダウンロードする
Microsoft JDBC Driver 11.2.1 for SQL Server (tar.gz) をダウンロードする

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

リリース番号: 11.2.0
リリース日: 2022 年 8 月 4 日

Microsoft JDBC Driver 11.2.0 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 11.2.0 for SQL Server (tar.gz) のダウンロード

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

11.2 の新機能

機能 詳細
Java 18 のサポート ドライバーは、Java Development Kit (JDK) 17.0、11.0、1.8 に加え、JDK バージョン 18.0 と互換性を持つようになりました。
構成可能な IPv6 サポートを追加 クライアント アプリケーションの IP アドレスの優先順位を IPv4 と IPv6 のいずれかに設定できるようになりました。 新しい ipaddresspreference 接続設定を使用して、動作を制御できます。 詳細については、「接続プロパティの設定」を参照してください。
prepare メソッドの選択のサポートを追加 sp_prepare と sp_prepexec を切り替える、新しい接続文字列プロパティ prepareMethod が追加されました。 新しい prepareMethod 接続設定を使用して、動作を制御できます。 詳細については、「接続プロパティの設定」を参照してください。
encrypt=strict の serverCertificate 接続プロパティを追加 サーバー証明書ファイル (PEM 形式) へのパスである serverCertificate プロパティを追加しました。 strict に設定された encrypt を使用する場合の検証に使用されます。 詳細については、「接続プロパティの設定」を参照してください。
パラメーター メタデータ呼び出しのキャッシュ パラメーター化されたクエリの暗号化関連の情報をキャッシュできるようになりました。 「JDBC ドライバーでの Always Encrypted の使用」を参照してください。
null の GUID 値の一括挿入のサポートを追加 一括挿入モードで null 値を挿入できない問題を解決しました。
マネージド ID トークンのキャッシュのサポートを追加 マネージド ID エンドポイントから取得したトークンのキャッシュを許可します。

11.2 の変更点

Change 詳細
接続プロパティを暗号化する "strict" オプションを追加して TDS 8.0 をサポート 破壊的変更 暗号化接続プロパティが文字列型になりました。
ネゴシエートされた ALPN のチェックを追加 Application-Layer プロトコルが正常にネゴシエートされていることを確認します。
enclaveAttestationProtocol のオプションを追加 構成証明なしでセキュア エンクレーブを使用できるように、NONE プロトコルのオプションが追加されました。
接続文字列で serverName の並べ替えを許可 接続文字列の serverName フィールドに等号がないことを確認します。
MSAL ライブラリが見つからない場合のエラー ログ (改良) を追加 ActiveDirectoryServicePrincipal の場合に MSAL が見つからない場合のエラー メッセージを追加しました。
既存の SharedTimer を使用するようにアイドル状態の接続の回復性のタイムアウトをリファクタリング 既存の SharedTimer を使用して、アイドル接続の復元力で効率が向上しました。
厳密モード時 Login7 で TDS バージョン 8 を送信 encrypt=strict の場合、TDS バージョン 8 を含めることで Login7 パケットに追加情報を追加しました。
既定の loginTimeout 値を 30 秒に変更 既定の loginTimeout 値を 15 秒から 30 秒に変更し、タイムアウト前に初期化接続が解決されるまでの時間を長くしました。
msal4j 依存関係を明示化 msal4j に明示的な依存関係を追加しました (以前のリリースでは推移的な依存関係でした)。
更新された依存関係 azure-identityazure-security-keyvault-keys の依存関係のバージョンを更新しました。

11.2 の修正

Fix 詳細
preparedMethod=prepare によって発生するエラーを修正 バッチ クエリで使用した場合にsp_prepare 原因で発生する断続的な準備されたステートメント ハンドルの null エラーを修正しました。(GitHub Issue #1880 )
複数の接続を並列で確立すると、IndexOutOfBoundsException がスローされるエラーを修正 複数の接続を確立するときに IndexOutOfBoundsException が発生する可能性がある addressList の競合状態を修正しました (GitHub イシュー #1852)
"insert into" ステートメントをキャンセルするときに発生するアサーションの失敗を修正 ステートメントをキャンセルするとドライバーがアサートする可能性がある問題を修正しました (ステートメント GitHub Issue #1849)。
SQL データベースでセッションが強制終了されたときに、予期したとおりに例外がスローされない問題を修正 サーバーで強制終了されたセッションから発生することがある DONE_ERROR 状態トークンに対するチェックを追加しました (GitHub イシュー #1846)。
マネージド ID の再試行間隔 マネージド ID の再試行間隔を修正し、適切にエクスポネンシャル バックオフが使用されるようにしました (GitHub イシュー #1765)。
connectionCommand() 内の executeCommand() の余分な呼び出しを削除 一部のユーザーにパフォーマンスの問題を引き起こしていた executeCommand の追加呼び出しを削除しました。(GitHub Issue #1669)
selectMethod での不明なトークン エラーを修正 selectMethod カーソルがデータ分類で使用されている場合の不明なトークン エラー 0xA3 を修正しました。

10.2

Microsoft JDBC Driver 10.2.3 for SQL Server (zip) をダウンロードする
Microsoft JDBC Driver 10.2.3 for SQL Server (tar.gz) をダウンロードする

リリース番号: 10.2.3
リリース日: 2023 年 1 月 12 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

リリース番号: 10.2.2
リリース日: 2022 年 12 月 13 日

Microsoft JDBC Driver 10.2.2 for SQL Server (zip) をダウンロードする
Microsoft JDBC Driver 10.2.2 for SQL Server (tar.gz) をダウンロードする

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

リリース番号: 10.2.1
リリース日: 2022 年 5 月 12 日

Microsoft JDBC Driver 10.2.1 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 10.2.1 for SQL Server (tar.gz) のダウンロード

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

10.2 に準拠

コンプライアンスの変更 詳細
JDBC Driver 10.2 用の最新の更新プログラムのダウンロード。 GitHub、10.2.0
Maven Central
JDBC API 仕様 4.2 への完全準拠。 10.2 パッケージ内の jar は、Java のバージョンの互換性に従って名前付けされています。

たとえば、10.2 パッケージの mssql-jdbc-10.20.jre17.jar ファイルは、Java 17 で使用する必要があります。
Java Development Kit (JDK) バージョン 17.0、11.0 および 1.8 と互換性があります。 Microsoft JDBC Driver 10.2 for SQL Server は、Java Development Kit (JDK) 11.0 と 1.8 に加え、JDK バージョン 17.0 と互換性を持つようになりました。

10.2 のリリース

リリース番号: 10.2.3
リリース日: 2023 年 1 月 12 日

10.2.3 で修正された問題:

  • バッチ クエリでタイムアウトが発生した場合の正しくない更新数を修正しました
  • Azure Functions を使う場合の正しくないトークンの有効期限を修正しました
  • データベース例外がスローされた場合の null SQL 状態とゼロ エラー コードを修正しました

リリース番号: 10.2.2
リリース日: 2022 年 12 月 13 日

10.2.2 で修正された問題:

  • アイドル状態の接続の回復性の再接続時に準備されたステートメント キャッシュをクリアする
  • KeepAlive 拡張オプションの設定に関する修正
  • ステートメントをキャンセルするとドライバーがアサートする可能性がある問題を修正しました
  • 範囲外の呼び出し可能なステートメント インデックスのエラーを修正しました
  • DONE トークン エラーをチェックしないため、例外が無視される問題を修正しました
  • クエリのキャンセルのバグを修正しました

リリース番号: 10.2.1
リリース日: 2022 年 5 月 12 日

10.2.1 で修正された問題:

  • 既存の SharedTimer を使用するようにアイドル状態の接続の回復性のタイムアウトを変更しました
  • マネージド ID 認証の再試行間隔が適切に指数バックオフされるように修正しました
  • connectionCommand() 内の executeCommand() の余分な呼び出しを削除しました

リリース番号: 10.2.0
リリース日: 2022 年 1 月 31 日

Microsoft JDBC Driver 10.2.0 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 10.2.0 for SQL Server (tar.gz) のダウンロード

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

10.2 の新機能

機能 詳細
Java 17 のサポート ドライバーは、Java Development Kit (JDK) 11.0 と 1.8 に加え、JDK バージョン 17.0 と互換性を持つようになりました。
アイドル状態の接続の回復性のサポート アイドル状態の接続の回復性がサポートされるようになりました。 「アイドル状態の接続の回復性」を参照してください。
マルチユーザー キー ストア プロバイダー ドライバーでは、マルチユーザー シナリオをサポートするために、接続レベルとステートメント レベルでキー ストア プロバイダーがサポートされるようになりました。 「JDBC ドライバーでの Always Encrypted の使用」を参照してください。

10.2 の変更点

Change 詳細
既定の encrypt が true に 破壊的変更 既定で TLS 暗号化が有効になります。
encrypt = false の場合の証明書の検証 破壊的変更 encrypt = false であるがサーバーで暗号化が必要な場合は、trustServerCertificate 接続設定に基づいて証明書が検証されます。
aadSecurePrincipalId と aadSecurePrincipalSecret の非推奨 aadSecurePrincipalId と aadSecurePrincipalSecret の各接続プロパティは非推奨とされました。 代わりにユーザー名とパスワードを使ってください。
getAADSecretPrincipalId API の削除 破壊的変更 セキュリティ上の理由から、getAADSecretPrincipalId API は削除されました。
SQL_Variant のサポート DateTimeOffset を取得する際の SQL_Variant データ型のサポートが追加されました。
Linux での非ブロッキング ランダム エンクレーブ パッケージの GUID を生成するときに非ブロッキング ランダム呼び出しを使用するように更新されました。
領域の CNAME 解決 領域が指定されている場合の CNAME 解決が追加されました。
更新された依存関係 azure-identityazure-security-keyvault-keysgsonbouncycastle の依存関係のバージョンを更新しました。

10.2 の修正

Fix 詳細
TDS_COLMETADATA での TDSParser の停止 修正済み: TDS_COLMETADATA での TDSParser の停止。特定のクエリでハングが発生する可能性がありました。 GitHub イシュー #1661

9.4

Microsoft JDBC Driver 9.4.1 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 9.4.1 for SQL Server (tar.gz) のダウンロード

リリース番号: 9.4.1
リリース日: 2021 年 12 月 7 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

9.4 に準拠

コンプライアンスの変更 詳細
JDBC Driver 9.4 用の最新の更新プログラムのダウンロード。 GitHub、9.4.0
Maven Central
JDBC API 仕様 4.2 への完全準拠。 9.4 パッケージ内の jar は、Java のバージョンの互換性に従って名前付けされています。

たとえば、9.4 パッケージの mssql-jdbc-9.4.0.jre16.jar ファイルは、Java 16 で使用する必要があります。
Java Development Kit (JDK) バージョン 16.0、11.0 および 1.8 と互換性があります。 Microsoft JDBC Driver 9.4 for SQL Server は、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 16.0 と互換性を持つようになりました。

9.4 のリリース

バージョン番号: 9.4.1
リリース日: 2021 年 12 月 7 日

9.4.1 で修正された問題:

  • ドライバーでサポートされていない TDS_COLMETADATA が発生した場合にハングする可能性を修正しました
  • 一括コピーでの LocalDateTime と LocalTime の文字列への変換を修正しました

バージョン番号: 9.4.0
リリース日: 2021 年 7 月 30 日

Microsoft JDBC Driver 9.4.0 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 9.4.0 for SQL Server (tar.gz) のダウンロード

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

9.4 の新機能

機能 詳細
Java 16 のサポート ドライバーは、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 16.0 と互換性を持つようになりました。
レプリケーション接続のサポート レプリケーション接続がサポートされるようになりました。 「接続プロパティの設定」を参照してください。
カスタム Kerberos 認証領域 ドライバーでは、Kerberos 認証を使用する際のカスタム認証領域の指定がサポートされるようになりました。 「接続プロパティの設定」を参照してください。
Open Connection Retry 接続を開く際の自動再試行を構成するために、connectRetryCount および connectRetryInterval 接続プロパティが追加されました。 これらの新しいプロパティの詳細については、「接続プロパティの設定」を参照してください。

9.4 の変更点

Change 詳細
Azure Key Vault プロバイダー 複数の連続する接続を開き、さまざまな Azure Key Vault プロバイダーの情報を指定することができます。
更新されたエラー メッセージ エンクレーブ例外に関連するエラー メッセージに、トラブルシューティング ガイドへのリンクが含まれるようになりました。
Active Directory 認証エラーに関連するエラー メッセージに、基になるライブラリからのエラー文字列が含まれるようになりました。
サーバーに送信されるドライバーのバージョン ドライバーのバージョンが、PRELOGIN の間にデータベースに正しく送信されるようになりました。
クライアント プロセス ID Java 9+ で実行する際に、クライアント プロセス ID がサーバーに送信されるようになりました。 Java 8 では、クライアント プロセス ID に対する 0 の送信の以前の機能が保持されます。
更新された依存関係 azure-identityazure-security-keyvault-keysgsonantlr、および bouncycastle の依存関係のバージョンを更新しました。
削除された不要な参照 使用されていない Java 9 固有のクラス参照を Java 8 jar から削除しました

9.4 の修正

Fix 詳細
GitHub 問題 #1499 修正済み: 接続文字列で Always Encrypted が有効で、clearParameters が呼び出されるときにバッチが失敗する。
GitHub 問題 #1632 修正済み: 新しい接続での小さなメモリ リーク。
GitHub 問題 #1565 applicationIntent=ReadOnly を使用するときに trustStorePassword が null になる問題を修正しました
GitHub 問題 #1568 リダイレクトされたトークンの servername に名前付きインスタンスが含まれる問題を修正しました
GitHub 問題 #1531 TDSWriter.writeString() の潜在的な整数オーバーフローを修正しました

9.2

Microsoft JDBC Driver 9.2.1 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 9.2.1 for SQL Server (tar.gz) のダウンロード

バージョン番号: 9.2.1
リリース日: 2021 年 3 月 2 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

9.2 に準拠

コンプライアンスの変更 詳細
JDBC Driver 9.2 用の最新の更新プログラムのダウンロード。 GitHub、9.2.1
Maven Central
JDBC API 仕様 4.2 への完全準拠。 9.2 パッケージ内の jar は、Java のバージョンの互換性に従って名前付けされています。

たとえば、9.2 パッケージの mssql-jdbc-9.2.1.jre15.jar ファイルは、Java 15 で使用する必要があります。
Java Development Kit (JDK) バージョン 15.0、11.0 および 1.8 と互換性があります。 Microsoft JDBC Driver 9.2 for SQL Server は、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 15.0 と互換性を持つようになりました。

9.2 のリリース

バージョン番号: 9.2.1
リリース日: 2021 年 3 月 2 日

9.2.1 で修正された問題:

  • Azure 環境での ActiveDirectoryServicePrincipal 認証の間に、クライアント シークレットが空になる問題を修正しました。

バージョン番号: 9.2.0
リリース日: 2021 年 1 月 29 日

Microsoft JDBC Driver 9.2.0 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 9.2.0 for SQL Server (tar.gz) のダウンロード

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

JDK 15 のサポート

Microsoft JDBC Driver 9.2 for SQL Server は、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 15.0 と互換性を持つようになりました。

Azure Active Directory 対話型認証のサポートの追加

認証の種類の追加 説明
Microsoft JDBC Driver 9.2 for SQL Server で、対話型認証を使用した Azure Key Vault への認証がサポートされるようになりました。 Azure Active Directory 認証を利用した接続」を参照してください。

Azure Active Directory サービス プリンシパル認証のサポートの追加

認証の種類の追加 説明
Microsoft JDBC Driver 9.2 for SQL Server で、サービス プリンシパル ID のクライアント ID とシークレットを使用した Azure Key Vault への認証がサポートされるようになりました。 Azure Active Directory 認証を利用した接続」を参照してください。

最新の Azure Key Vault ライブラリを使用するための Azure Key Vault ライブラリの更新

Azure Key Vault のライブラリの変更 詳細
Microsoft JDBC Driver 9.2 は、前の世代の Azure Key Vault ライブラリおよび ADAL ライブラリから、最新の Azure Key Vault および Azure ID の同等のものに移行されました。 依存関係の変更 Azure Active Directory 認証または Azure Key Vault を利用する場合は、アプリケーションの依存関係を必ず更新してください。 Azure Key Vault プロバイダーまたは Azure Active Directory 認証の操作時の依存関係の要件を参照してください

Azure Synapse Analytics サーバー以外での useBulkCopyForBatchInsert の有効化

Azure Synapse Analytics サーバー以外での useBulkCopyForBatchInsert の変更 詳細
Microsoft JDBC Driver 9.2 では、Azure Synapse Analytics サーバー以外に対するバッチ挿入操作に一括コピー API が許可されるようになりました。 バッチ挿入操作に一括コピー API を使用する」を参照してください。

8.4

Microsoft JDBC Driver 8.4 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 8.4 for SQL Server (tar.gz) のダウンロード

バージョン番号: 8.4.1
リリース日: 2020 年 8 月 27 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

8.4 に準拠

コンプライアンスの変更 詳細
JDBC Driver 8.4 用の最新の更新のダウンロード。 GitHub、8.4.1
Maven Central
JDBC API 仕様 4.2 への完全準拠。 8.4 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。

たとえば、8.4 パッケージの mssql-jdbc-8.4.1.jre14.jar ファイルは、Java 14 で使用する必要があります。
Java Development Kit (JDK) バージョン 14.0、11.0 および 1.8 と互換性があります。 Microsoft JDBC Driver 8.4 for SQL Server は、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 14.0 と互換性を持つようになりました。

8.4 のリリース

バージョン番号: 8.4.1
リリース日: 2020 年 8 月 27 日
修正された問題:

  • SQLServerConnectionPoolProxydelayLoadingLobs との互換性がない問題を修正しました
  • delayLoadingLobs の潜在的な NullPointerException の問題を修正しました
  • Windows Certificate Store 使用時の列暗号化キーの復号化に関する問題を修正しました

バージョン番号: 8.4.0
リリース日: 2020 年 7 月 31 日

JDK 14 のサポート

Microsoft JDBC Driver 8.4 for SQL Server は、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 14.0 と互換性を持つようになりました。

マネージド ID を使用した Azure Key Vault への認証のサポートを追加

認証の種類の追加 説明
Microsoft JDBC Driver 8.4 for SQL Server で、マネージド ID を使用した Azure Key Vault への認証がサポートされるようになりました。 JDBC ドライバーでの Always Encrypted の使用」を参照してください。

Azure Data Warehouse の一括コピーの拡張サポート

Azure Data Warehouse の一括コピーの変更 詳細
Microsoft JDBC Driver 8.4 には、新しい接続プロパティである sendTemporalDataTypesAsStringForBulkCopy が追加されています。 このブール型プロパティの既定値は TRUE です。 JDBC ドライバーでの一括コピーの使用」を参照してください。

Azure SQL DNS キャッシュのサポートを追加

DNS キャッシュ 詳細
Microsoft JDBC Driver 8.4 for SQL Server では、Azure VM 上の Azure SQL Server に対する DNS キャッシュがサポートされるようになりました。  

LOB オブジェクトのストリーミングとの下位互換性を追加

LOB ストリーミング 説明
Microsoft JDBC Driver 8.4 for SQL Server には、新しい接続プロパティである delayLoadingLobs が追加されました。 delayLoadingLobs を FALSE に設定すると、結果セットから取得されるすべての LOB オブジェクトがストリーミングされなくなります。 この設定は、バージョン 6.4 リリースより前のドライバーの動作と同様に、ドライバーが LOB オブジェクト全体をメモリに一度に読み込むことを意味します。

Loopback シナリオにおけるクライアント証明書認証のサポートを追加

クライアント証明書認証 詳細
Microsoft JDBC Driver 8.4 for SQL Server には、Loopback シナリオ向けにクライアント証明書認証と呼ばれる新しい認証方法が追加されました。 Loopback シナリオにおけるクライアント証明書の認証」を参照してください。

8.2

Microsoft JDBC Driver 8.2 for SQL Server (zip) のダウンロード
Microsoft JDBC Driver 8.2 for SQL Server (tar.gz) のダウンロード

バージョン番号: 8.2.2 リリース日: 2020 年 3 月 24 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
zip ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

8.2 に準拠

コンプライアンスの変更 詳細
JDBC Driver 8.2 用の最新の更新のダウンロード。 GitHub、8.2.2
Maven Central
JDBC API 仕様 4.2 への完全準拠。 8.2 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。

たとえば、8.2 パッケージの mssql-jdbc-8.2.2.jre11.jar ファイルは、Java 11 で使用する必要があります。
Java Development Kit (JDK) バージョン 13.0、11.0 および 1.8 と互換性があります。 Microsoft JDBC Driver 8.2 for SQL Server は、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 13.0 と互換性を持つようになりました。

8.2 のリリース

バージョン番号: 8.2.2
リリース日: 2020 年 3 月 24 日
修正された問題:

  • 信頼済みの Azure Key Vault エンドポイントの一覧を構成するオプションを追加

バージョン番号: 8.2.1
リリース日: 2020 年 2 月 26 日
修正された問題:

  • SQLServerResultSet.getObject() を使用して java.time.LocalTime または java.time.LocalDate としてデータを取得するときの潜在的な NullPointerException の問題を修正しました

バージョン番号: 8.2.0
リリース日:2020 年 1 月 31 日

JDK 13 のサポート

Microsoft JDBC Driver 8.2 for SQL Server は、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 13.0 と互換性を持つようになりました。

セキュア エンクレーブを使用する Always Encrypted

Always Encrypted の変更 詳細
Microsoft JDBC Driver 8.2 for SQL Server では、セキュア エンクレーブを使用する Always Encrypted がサポートされるようになりました。 詳細については、以下を参照してください。セキュリティで保護されたエンクレーブが設定された Always Encrypted
詳細情報とサンプル コード。 セキュリティで保護されたエンクレーブが設定された Always Encrypted」をご覧ください。

SQL Server 1 からテンポラル データ型を取得するときのパフォーマンスの向上

テンポラル データ型の変更 詳細
Microsoft JDBC Driver 8.2 for SQL Server では、SQL Server からテンポラル データ型を取得するときのパフォーマンスが向上しています。 この変更により、可能な場合、java.util.Calendar を使用する必要がなくなるため、不要なテンポラル データ型変換を行わなくて済みます。
次に示すテンポラル データ型の一覧は、このパフォーマンス向上の影響を受けています。"SQL Server データ型" (Java マッピング) の形式です。 date (java.sql.Date)、datetime (java.sql.Timestamp)、datetime2 (java.sql.Timestamp)、smalldatetime (java.sql.Timestamp)、time (java.sql.Time)。

1 java.util.Calendar と java.time.LocalDateTime API の間でタイム ゾーンの処理方法に違いがあるため、ユーザーが指定した java.util.Calendar オブジェクトに関連付けられたテンポラル データ型、または microsoft.sql.DateTimeOffset データ型は、このパフォーマンス向上からメリットを得られません。

Maven リポジトリへの mssql-jdbc_auth-<バージョン>-<arch>.dll (以前の sqljdbc_auth.dll) の展開

sqljdbc_auth.dll change 詳細
Microsoft JDBC Driver 8.2 for SQL Server 以降では、ドライバーが Azure Active Directory 認証機能を使用するために mssql-jdbc_auth-<バージョン>-<arch>.dll に依存しています。  
また、簡単にアクセスできるように、DLL も Maven リポジトリにアップロードされています。 このページを参照してください。

8.2 の既知の問題

既知の問題 詳細
Java 8 でセキュア エンクレーブを使用する Always Encrypted を使用する場合。 ユーザーは、BouncyCastle プロバイダーを依存関係として含めるか、または RSASSA-PSS 署名アルゴリズムをサポートするセキュリティ プロバイダーをマップするか読み込む必要があります。

7.4.1

Microsoft JDBC Driver 7.4.1 for SQL Server (自己解凍形式 exe) のダウンロード
Microsoft JDBC Driver 7.4.1 for SQL Server (tar.gz) のダウンロード

バージョン番号: 7.4.1
リリース日:2019 年 8 月 2 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
自己解凍形式 exe ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

7.4 に準拠

コンプライアンスの変更 詳細
JDBC Driver 7.4 用の最新の更新のダウンロード。 GitHub、7.4.1
Maven Central
JDBC API 仕様 4.2 への完全準拠。 7.4 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。

たとえば、7.4 パッケージの mssql-jdbc-7.4.1.jre11.jar ファイルは、Java 11 で使用する必要があります。
Java Development Kit (JDK) バージョン 12.0、11.0 および 1.8 と互換性があります。 Microsoft JDBC Driver 7.4 for SQL Server は、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 12.0 と互換性を持つようになりました。

7.4 のリリース

バージョン番号: 7.4.1
リリース日:2019 年 8 月 2 日
修正された問題:

  • API の変更によって下位互換性が損なわれたため、新しい hashCode() および equals() API の実装が SQLServerDataTable および SQLServerDataColumn から取り消されました

バージョン番号: 7.4.0
リリース日:2019 年 7 月 31 日

JDK 12 のサポート

Microsoft JDBC Driver 7.4 for SQL Server は、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 12.0 と互換性を持つようになりました。

NTLM 認証の導入

NTLM の変更 詳細
NTLM 認証モードのサポート。 この認証モードでは、Windows クライアントと Windows 以外のクライアントの両方が Windows ドメイン ユーザーを使用して SQL Server に対して自身の認証を行うことができます。
この認証モードを使用するための詳細とサンプル アプリケーション。 NTLM 認証を使用した接続に関するページを参照してください。

useFmtOnly を使用した ParameterMetaData のクエリの導入

useFmtOnly の変更 詳細
useFmtOnly 接続プロパティの追加。 この機能を使用すると、ユーザーは SET FMTONLY ON レガシ API を使用して必要に応じて ParameterMetaData にクエリを実行できます。 この設定は、sp_describe_undeclared_parameters が想定どおりに実行されないシナリオに役立ちます。
詳細と制限。 useFMTOnly の使用」をご覧ください

Microsoft Azure Key Vault SDK for Java を更新 (バージョン 1.2.1)

Key Vault SDK の変更 詳細
Microsoft Azure Key Vault SDK for Java の Maven の依存関係がバージョン 1.2.1 に更新されました。  
Maven の依存関係としての Microsoft Azure SDK for Key Vault WebKey が削除されます。  
詳細についてはこちらをご覧ください。 Feature dependencies of the Microsoft JDBC Driver for SQL Server (Microsoft JDBC Driver for SQL Server の機能の依存関係)」をご覧ください。

7.4 の既知の問題

既知の問題 詳細
NTLM 認証を使用するとき。 現在、拡張保護と暗号化された接続を同時に有効化することはできません。
useFmtOnly を使用するとき。 SQL の解析ロジックの欠陥に起因する、いくつかの機能のイシューがあります。 詳細と回避策の提案については、「useFmtOnly の使用」を参照してください。

7.2.2

Microsoft JDBC Driver 7.2.2 for SQL Server (自己解凍形式 exe) のダウンロード
Microsoft JDBC Driver 7.2.2 for SQL Server (tar.gz) のダウンロード

バージョン番号: 7.2.2
リリース日:2019 年 4 月 16 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
自己解凍形式 exe ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

7.2 に準拠

コンプライアンスの変更 詳細
JDBC Driver 7.2 用の最新の更新のダウンロード。 GitHub、7.2.2
Maven Central
JDBC API 仕様 4.2 への完全準拠。 7.2 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。

たとえば、7.2 パッケージの mssql-jdbc-7.2.2.jre11.jar ファイルは、Java 11 で使用する必要があります。
Java Development Kit (JDK) バージョン 11.0 および JDK 1.8 と互換性があります。 Microsoft JDBC Driver 7.2 for SQL Server は、JDK 1.8 に加え、Java Development Kit (JDK) バージョン 11.0 と互換性を持つようになりました。

7.2 のリリース

バージョン番号: 7.2.2
リリース日:2019 年 4 月 16 日
修正された問題:

  • ActivityID が適切にクリーンアップされない問題を修正しました

バージョン番号: 7.2.1
リリース日:2019 年 2 月 11 日
修正された問題:

  • 特定のパラメーター化されたクエリに関する問題を修正しました

バージョン番号: 7.2.0
リリース日:2019 年 1 月 31 日

Active Directory マネージド ID (MSI) 認証

MSI の変更 詳細
Active Directory マネージド ID (MSI) 認証モードのサポート。 この認証モードは、"ID" 機能の有効化がサポートされている Azure リソースに適用できます。

ドライバーによって両方の種類のマネージド ID (MSI) がサポートされ、セキュリティで保護された接続を確立するための accessToken が取得されます。
この認証モードを使用するための詳細とサンプル アプリケーション。 Connecting using Azure Active Directory Authentication (Azure Active Directory 認証を利用した接続)」をご覧ください。

"オープン サービス ゲートウェイ イニシアチブ" (OSGi) のサポートを導入

OSGi の変更 詳細
DataSourceFactory の実装の追加。 org.osgi.service.jdbc.DataSourceFactory
com.microsoft.sqlserver.jdbc.osgi.SQLServerDataSourceFactory
アクティベーターの実装の追加。 org.osgi.framework.BundleActivator
com.microsoft.sqlserver.jdbc.osgi.Activator

SQLServerError API を導入

エラー API の変更 詳細
SQLServerError API が導入されました。 生成されたエラーのさらなる詳細をサーバーから取得する getter API。

SQLServerException.getSQLServerError()
SQLServerError
詳細についてはこちらをご覧ください。 Handling Errors (エラーの処理)」をご覧ください。

"Microsoft Azure Active Directory 認証ライブラリ (ADAL4J) for Java" の更新、バージョン 1.6.3

ADAL4J の変更 詳細
ADAL4J の Maven の依存関係がバージョン 1.6.3 に更新されました。  
Maven の依存関係として、Java Client Runtime for AutoRest が導入されています (バージョン 1.6.5)。  
詳細についてはこちらをご覧ください。 Feature dependencies of the Microsoft JDBC Driver for SQL Server (Microsoft JDBC Driver for SQL Server の機能の依存関係)」をご覧ください。

Microsoft Azure Key Vault SDK for Java を更新 (バージョン 1.2.0)

Key Vault SDK の変更 詳細
Microsoft Azure Key Vault SDK for Java の Maven の依存関係がバージョン 1.2.0 に更新されました。  
Maven の依存関係として Microsoft Azure SDK for Key Vault WebKey、バージョン 1.2.0 が導入されます。  
詳細についてはこちらをご覧ください。 Feature dependencies of the Microsoft JDBC Driver for SQL Server (Microsoft JDBC Driver for SQL Server の機能の依存関係)」をご覧ください。

7.2 の既知の問題

既知の問題 詳細
クエリがパラメーター化される場合があります。 この問題に対応するために、7.2.0 バージョンの更新である v7.2.1 が 2019 年 2 月にリリースされました。
ActivityId のクリーンアップ。 この問題に対応するために、7.2.1 バージョンの更新である v7.2.2 が 2019 年 4 月にリリースされました。

7.0

Microsoft JDBC Driver 7.0 for SQL Server (自己解凍形式 exe) のダウンロード
Microsoft JDBC Driver 7.0 for SQL Server (tar.gz) のダウンロード

バージョン番号: 7.0.0
リリース日:2018 年 7 月 31日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
自己解凍形式 exe ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

Microsoft JDBC Driver 7.0 for SQL Server は、JDBC API 仕様 4.2 に完全に準拠しています。 7.0 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされます。 たとえば、7.0 パッケージの mssql-jdbc-7.0.0.jre10.jar ファイルは、Java 10 で使用する必要があります。

JDK 10 のサポート

Microsoft JDBC Driver 7.0 for SQL Server は、JDK 1.8 に加え、Java Development Kit (JDK) バージョン 10.0 と互換性を持つようになりました。 さらに、この更新により、ドライバーの Automatic-Module-Name が、MANIFEST ファイルを通して com.microsoft.sqlserver.jdbc として公開されます。

空間データ型のサポート

Microsoft JDBC Driver 7.0 for SQL Server で、SQL Server の空間データ型である Geography と Geometry のサポートが提供されるようになりました。 空間データ型の API の詳細とそれらの使用方法については、「空間データ型の使用」を参照してください。

JDBC 4.3 の実装で、java.sql.Connection の API beginRequest() と endRequest() が導入されました。

Microsoft JDBC Driver 7.0 for SQL Server で、java.sql.Connection クラスから beginRequest() API と endRequest() API が実装されるようになりました。 これらの API は、JDBC 4.3 仕様と JDK 9 で導入されました。 ドライバーでのこれらの API の実装の詳細については、「JDBC Driver の JDBC 4.3 への準拠」を参照してください。

SQL データの検出と分類のサポート

Microsoft JDBC Driver 7.0 for SQL Server には、SQL データの検出と分類に関するサポートが、この機能に対応している任意のターゲット データベースに向けて用意されています。 ドライバーで、フェッチされた ResultSet からこの情報を抽出するための SQLServerResultSet.getSensitivityClassification() API が公開されるようになりました。

JDBC Driver でこの機能を使用する方法の詳細については、「SQL データの検出と分類」内の例を参照してください。

接続プロパティ useBulkCopyForBatchInsert を追加

Microsoft JDBC Driver 7.0 for SQL Server には、新しい接続プロパティである useBulkCopyForBatchInsert が導入されています。 このプロパティは、Azure Synapse Analytics に対してのみサポートされます。

このプロパティは、既定では無効になっています。 Azure Synapse Analytics に大量のデータをプッシュするときに、それを有効にすることで、ユーザー アプリケーションのパフォーマンスを向上させることができます。 このプロパティを有効にすると、バッチ挿入操作の動作が変更され、ユーザー指定のデータを一括コピーする操作に切り替わります。 このプロパティとその制約については、「Using Bulk Copy API for batch insert operation (一括挿入操作での Bulk Copy API の使用)」を参照してください。

接続プロパティ cancelQueryTimeout を追加

Microsoft JDBC Driver 7.0 for SQL Server には、新しい接続プロパティである cancelQueryTimeout が導入されています。これは java.sql.Connection オブジェクトと java.sql.Statement オブジェクトの queryTimeout をキャンセルします。

Azure Key Vault プロバイダー コンストラクターを追加

Microsoft JDBC Driver 7.0 for SQL Server には、以前削除された SQLServerColumnEncryptionAzureKeyVaultProvider 用のコンストラクターが再び導入されています。 それは SQLServerKeyVaultAuthenticationCallback で実装されたカスタム メソッドを通して認証を行うことを可能にしていました。

新しいコンストラクターには、次の定義が含まれています。

/* This constructor is added to provide backward compatibility with 6.0
* version of the driver. It is marked deprecated for removal in the next
* stable release.
*/
@Deprecated
public SQLServerColumnEncryptionAzureKeyVaultProvider(
        SQLServerKeyVaultAuthenticationCallback authenticationCallback,
        ExecutorService executorService) throws SQLServerException;

/*New constructor to replace the above constructor*/
public SQLServerColumnEncryptionAzureKeyVaultProvider(
            SQLServerKeyVaultAuthenticationCallback authenticationCallback) throws SQLServerException;

"Microsoft Azure Active Directory 認証ライブラリ (ADAL4J) for Java" の更新、バージョン:1.6.0

Microsoft JDBC Driver 7.0 for SQL Server では、"Java 用 Microsoft Azure Active Directory 認証ライブラリ (ADAL4J)" に関する Maven の依存関係が 1.6.0 に更新されています。 依存関係の詳細については、「Microsoft JDBC Driver for SQL Server の機能の依存関係」をご覧ください。

6.4

Microsoft JDBC Driver 6.4 for SQL Server (自己解凍形式 exe) のダウンロード
Microsoft JDBC Driver 6.4 for SQL Server (tar.gz) のダウンロード

バージョン番号: 6.4.0
リリース日:2018 年 2 月 27 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
自己解凍形式 exe ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

Microsoft JDBC Driver 6.4 for SQL Server は、JDBC 仕様 4.1 および 4.2 に完全に準拠しています。 6.4 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。 たとえば、6.4 パッケージの mssql-jdbc-6.4.0.jre8.jar ファイルは、Java 8 で使用する必要があります。

JDK 9 のサポート

ドライバーでは、JDK 8.0 および 7.0 に加えて JDK バージョン 9.0 がサポートされています。

JDBC 4.3 に準拠

ドライバーでは、Java Database Connectivity API 4.1 および 4.2 に加えて、4.3 の仕様もサポートされます。 JDBC 4.3 API メソッドは追加されていますが、まだ実装されていません。 詳細については、「JDBC Driver の JDBC 4.3 への準拠」をご覧ください。

接続プロパティ sslProtocol を追加

新しい接続プロパティを使用して、TLS プロトコルのキーワードを指定できます。 次のいずれかの値になります。"TLS"、"TLSv1"、"TLSv 1.1"、および "TLSv 1.2"。 詳細については、「SSLProtocol」を参照してください。

非推奨の接続プロパティ fipsProvider

接続プロパティ fipsProvider は、指定できる接続プロパティの一覧から削除されています。 詳細については、関連する GitHub pull request を参照してください。

カスタムの TrustManager を指定するための接続プロパティを追加

ドライバーでは、trustManagerClass および trustManagerConstructorArg 接続プロパティの追加によって、カスタムの TrustManager の指定がサポートされるようになりました。 Java 仮想マシン (JVM) 環境でのグローバル設定の変更なしで、信頼できる一連の証明書を接続ごとに動的に指定できます。

テーブル値パラメーターでの datetime/smallDatetime 型のサポートを追加

ドライバーでは、テーブル値パラメーター (TVP) を使用している場合に、datetime および smallDatetime データ型がサポートされるようになりました。

sql_variant データ型のサポートを追加

JDBC ドライバーでは、SQL Server で使用する sql_variant データ型がサポートされるようになりました。 sql_variant データ型は、TVP や一括コピーなどの機能でもサポートされますが、次の制約があります。

  • 日付の値の場合:

    sql_variant 列に datetime 値、smalldatetime 値、または date 値が格納されているテーブルに TVP を使用して入力する場合、結果セットに対する getDateTime() メソッド、getSmallDateTime() メソッド、または getDate() メソッドの呼び出しは機能せず、次の例外がスローされます。

    java java.lang.String cannot be cast to java.sql.Timestamp

    回避策として、代わりに getString() メソッドまたは getObject() メソッドを使用してください。

  • null 値に対して TVP を sql_variant と共に使用する:

    TVP を使用してテーブルに入力しているときに、sql_variant 型の列に NULL 値を送信した場合、例外が発生します。 TVPでの sql_variant 型の列への NULL 値の挿入は、現在サポートされていません。

準備されたステートメントのメタデータのキャッシュを実装

JDBC Driver では、パフォーマンスを向上させるための準備されたステートメントのメタデータのキャッシュが実装されています。 ドライバーでは、準備されたステートメントのメタデータをドライバー内でキャッシュすることがサポートされるようになりました。これには、接続プロパティ disableStatementPoolingstatementPoolingCacheSize が使用されます。 この機能は、既定では無効化されています。 詳細については、「Prepared statement metadata caching for the JDBC Driver (JDBC Driver での準備されたステートメントのメタデータのキャッシュ)」を参照してください。

Linux/macOS での Azure AD 統合認証のサポートを追加

JDBC ドライバーでは、サポート対象のすべてのオペレーティング システム (Windows、Linux、macOS) 上で Kerberos を使った Azure Active Directory (Azure AD) 統合認証がサポートされるようになりました。 別の方法として、Windows オペレーティング システムでは、ユーザーは mssql-jdbc_auth-<バージョン>-<arch>.dll を使用して認証できます。

"Microsoft Azure Active Directory 認証ライブラリ (ADAL4J) for Java" の更新、バージョン:1.4.0

SQL Server 用 Microsoft JDBC Driver 7.0 では、"Microsoft Azure Active Directory 認証ライブラリ (ADAL4J) for Java" に関する Maven の依存関係が 1.4.0 に更新されています。 依存関係の詳細については、「Microsoft JDBC Driver for SQL Server の機能の依存関係」をご覧ください。

6.2

Microsoft JDBC Driver 6.2 for SQL Server (自己解凍形式 exe) のダウンロード
Microsoft JDBC Driver 6.2 for SQL Server (tar.gz) のダウンロード

バージョン番号: 6.2.2
リリース日:2017 年 9 月 29 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
自己解凍形式 exe ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

SQL Server 用 Microsoft JDBC Driver 6.2 は、JDBC 仕様 4.1 および 4.2 に完全に準拠しています。 6.2 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。 たとえば、6.2 パッケージの mssql-jdbc-6.2.2.jre8.jar ファイルは、Java 8 で使用することが推奨されています。

6.2 のリリース

バージョン番号: 6.2.2
リリース日:2017 年 10 月 3 日
修正された問題:

  • ADAL4J の依存関係がバージョン 1.2.0 に更新され、Azure Key Vault の依存関係がバージョン 1.0.0 に更新されました

バージョン番号: 6.2.1
リリース日:2017 年 7 月 14 日
修正された問題:

  • preparedStatement を使用してパラメーターなしでクエリを実行するときの問題を修正しました

バージョン番号: 6.2.0
リリース日:2017 年 6 月 30 日

Note

2017 年 6 月 29 日にリリースされた JDBC 6.2 RTW で、メタデータのキャッシュの機能強化に問題があることがわかりました。 この機能強化はロールバックされ、2017 年 7 月 17 日に新しい jar (バージョン 6.2.1) がリリースされました。

別の機能強化として、Azure Key Vault に依存するライブラリのバージョンが 1.0.0 にアップグレードされ、2017 年 10 月 19 日に新しい jar (バージョン 6.2.2) がリリースされました。

上記のリンク、GitHub または Maven Central から JDBC Driver 6.2 の最新更新プログラムをダウンロードします。 6.2.2 リリースの jar を使用するようにプロジェクトを更新してください。 詳細については、6.2.1 および 6.2.2 のリリース ノートをご覧ください。

Linux での Azure AD のサポート

ユーザー名/パスワードとアクセス トークンによる Azure AD 認証を使用して、Linux アプリケーションを Azure SQL Database に接続します。

FIPS 対応 JVM

米国連邦標準規格を満たす Federal Information Processing Standard (FIPS) 140 準拠モードで実行されている JVM で JDBC Driver を使用できるようになりました。

Kerberos 認証の機能強化

JDBC Driver で、以下がサポートされるようになりました。

  • Kerberos 構成を変更できない、または新しいトークンまたは keytab を取得できないアプリケーションでのプリンシパル/パスワードの使用。 Kerberos 認証のみが許可される SQL Server インスタンスへの認証でこの方法を使用できます。
  • サーバー SPN の明示的な設定なしで Kerberos 統合認証を使用するレルム間認証。 ドライバーでは、レルムが提供されていない場合でも、自動的にそれを計算するようになりました。
  • 偽装されたユーザーの資格情報をデータ ソース経由の GSS 資格情報オブジェクトとして受け入れることによる Kerberos の制約付き委任。 この偽装された資格情報を使用して、Kerberos 接続が確立されます。

タイムアウトを追加

JDBC Driver では、次の構成可能なタイムアウトがサポートされるようになりました。 アプリケーションのニーズに基づいてそれらを変更できます。

  • クエリを実行しているときに、タイムアウトが発生する前に待機する秒数を制御するクエリのタイムアウト。
  • ソケットの読み取りまたは受け入れで、タイムアウトが発生する前に待機するミリ秒数を指定するソケットのタイムアウト。

6.1

バージョン番号: 6.1.0
リリース日:2016 年 11 月 17 日

Microsoft JDBC Driver 6.1 for SQL Server は、JDBC 仕様 4.1 および 4.2 に完全に準拠しています。 これは、JDBC ドライバーの最初のオープン ソースのリリースです。 ソース コードは GitHub v6.1.0 タグにあります。 それにより、Java のバージョンの互換性に対応する mssql-jdbc-6.1.0.jre8.jar ファイルと mssql-jdbc-6.1.0.jre7.jar ファイルがビルドされます。

6.0

Microsoft JDBC Driver 6.0 for SQL Server (自己解凍形式 exe) のダウンロード
Microsoft JDBC Driver 6.0 for SQL Server (tar.gz) のダウンロード

バージョン番号: 6.0.8112
リリース日:2017 年 1 月 17 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
自己解凍形式 exe ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

Microsoft JDBC Driver 6.0 for SQL Server は、JDBC 仕様 4.1 および 4.2 に完全に準拠しています。 6.0 パッケージ内の Jar は、JDBC API のバージョンの準拠に従って名前付けされています。 たとえば、6.0 パッケージの sqljdbc42.jar ファイルは、JDBC API 4.2 準拠です。 同様に、sqljdbc41.jar ファイルは、JDBC API 4.1 準拠です。

適切な sqljdbc42.jar または sqljdbc41.jar ファイルがあることを確認するには、次のコード行を実行します。 出力が "Driver version:6.0.7507.100" であれば、JDBC Driver 6.0 パッケージがあります。

Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());

Always Encrypted

ドライバーでは、SQL Server 2016 の Always Encrypted 機能がサポートされます。 この機能により、SQL Server インスタンスで機密データがプレーン テキストで表示されることはないことが保証されます。 Always Encrypted はアプリケーション内のデータを透過的に暗号化することによって動作します。そのため、SQL Server では暗号化データのみが処理され、プレーンテキスト値は処理されません。 SQL Server のインスタンスまたはホスト コンピューターが侵害されたとしても、攻撃者が取得できるものは機密データの暗号化テキストだけになります。 詳細については、「JDBC ドライバーでの Always Encrypted の使用」をご覧ください。

国際化ドメイン名

ドライバーでは、サーバー名に関する国際化ドメイン名 (IDN) がサポートされます。 詳細については、記事「International features of the JDBC Driver (JDBC Driver の国際化機能)」の「Using International Domain Names (国際化ドメイン名の使用)」を参照してください。

パラメーター化されたクエリ

ドライバーで、サブクエリや結合など、複雑なクエリのために準備されたステートメントを使ったパラメーター メタデータの取得がサポートされました。 この機能強化を使用できるのは、SQL Server 2012 以降のバージョンを使用している場合のみです。

Azure Active Directory

Azure AD 認証は、Azure AD の ID を使用して Azure SQL Database に接続するメカニズムです。 Azure AD 認証は、データベース ユーザーの ID を一元管理するために、SQL Server 認証の代替として使用します。

JDBC Driver 6.0 を使用して、Azure AD の資格情報を JDBC 接続文字列内に指定して Azure SQL Database に接続できます。 詳細については、「Setting the connection properties (接続プロパティの設定)」の認証プロパティを参照してください。

テーブル値パラメーター

TVP は、複数行のデータをクライアント アプリケーションから SQL Server に簡単にマーシャリングするための手段です。複数のラウンド トリップや、データ処理用の特別なサーバー側ロジックは必要ありません。 TVP を使用すると、1 つのパラメーター化コマンドで、クライアント アプリケーションで複数行のデータをカプセル化し、そのデータをサーバーに送信できます。 受信データ行はテーブル変数に格納され、Transact-SQL を使用して操作できます。 詳細については、「テーブル値パラメーターの使用」を参照してください。

Always On 可用性グループ

ドライバーでは、AlwaysOn 可用性グループへの透過的な接続がサポートされるようになりました。 ドライバーによってサーバー インフラストラクチャの現在の Always On トポロジがすばやく検出され、現在アクティブなサーバーに透過的に接続されます。

4.2

Microsoft JDBC Driver 4.2 for SQL Server (自己解凍形式 exe) のダウンロード
Microsoft JDBC Driver 4.2 for SQL Server (tar.gz) のダウンロード

バージョン番号: 4.2.8112
リリース日:2015 年 8 月 24 日

自動的に検出されたもの以外の言語でドライバーをダウンロードする必要がある場合は、以下の直接リンクを使用できます。
自己解凍形式 exe ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
tar.gz ファイルのドライバーの場合:簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語

Microsoft JDBC Driver 4.2 for SQL Server は、JDBC 仕様 4.1 および 4.2 に完全に準拠しています。 4.2 パッケージ内の Jar は、JDBC API のバージョンの準拠に従って名前付けされています。 たとえば、4.2 パッケージの sqljdbc42.jar ファイルは、JDBC API 4.2 準拠です。 同様に、sqljdbc41.jar ファイルは、JDBC API 4.1 準拠です。

適切な sqljdbc42.jar または sqljdbc41.jar ファイルがあることを確認するには、次のコード行を実行します。 出力が "Driver version:4.2.6420.100" であれば、JDBC Driver 4.2 パッケージがあります。

Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());

JDK 8 のサポート

ドライバーでは、JDK 7.0、6.0、および 5.0 に加え、JDK バージョン 8.0 がサポートされています。

JDBC 4.1 および 4.2 への準拠

ドライバーで、Java Database Connectivity API 4.0 だけでなく、4.1 と 4.2 の仕様もサポートされるようになりました。 詳細については、「JDBC Driver の JDBC 4.1 への準拠」および「JDBC Driver の JDBC 4.2 への準拠」を参照してください。

一括コピー

一括コピー機能を使うと、SQL Server データベースのテーブルまたはビューに大量のデータを簡単にコピーできます。 詳細については、「JDBC ドライバーでの一括コピーの使用」をご覧ください。

XA トランザクション ロールバック オプション

既存の準備解除されたトランザクションの自動ロールバックに向けた、新しいタイムアウト オプションがドライバーに追加されました。 詳細については、「Understanding XA transactions (XA トランザクションについて)」を参照してください。

新しい Kerberos プリンシパル接続プロパティ

Kerberos 接続での柔軟性を強化するために、ドライバーで新しい接続プロパティが使用されます。 詳細については、「Kerberos 統合認証による SQL Server への接続」をご覧ください。

4.1

バージョン番号: 4.1.8112
リリース日:2014 年 12 月 12 日

JDK 7 のサポート

ドライバーでは、JDK 6.0 および 5.0 に加え、JDK バージョン 7.0 がサポートされています。

Itanium では JDBC Driver アプリケーションがサポートされない

Microsoft JDBC Driver for SQL Server は Itanium コンピューター上ではサポートされていません。

関連項目

JDBC ドライバーの概要