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

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

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 の両方をサポートすることで、ユーザー エクスペリエンスを向上させます。

12.2 の変更点

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

12.2 での修正

Fix 詳細
データベース例外がスローされた場合の null SQL 状態とゼロ エラー コードを修正しました SQL エラーの後に、SQL 状態とエラー コードに正しくない情報が表示される問題を修正しました。 GitHub Issue #2015
間違った SQLServer ホストへの接続を修正しました ドライバーが複数の SQLServer ホストに接続されているときに、間違ったホストへの接続が確立される可能性があるコンカレンシーの問題を修正しています。 GitHub Issue #1964
キャッシュ アカウント名の大文字と小文字の問題を修正しました アカウント名が大文字と小文字を区別して Microsoft 認証ライブラリに送信され、ログイン要求が繰り返される問題を修正しています。 GitHub Issue #1923
BigDecimal の使用時に送信される桁数を修正しました BigDecimal 値が既定で最大有効桁数で送信され、望ましくない小数点丸めになる可能性がある問題を修正しています。 GitHub Issue #1489GitHub Issue #942
すべてのケースで動作するように構成証明プロトコル NONE を修正しました NONE 構成証明プロトコルの背後にあるロジックが、特定のものだけでなく、すべてのケースで動作するように修正しました。

以前のリリース

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 接続設定を使用して、動作を制御できます。 詳細については、「接続プロパティの設定」を参照してください。
パラメーター メタデータ呼び出しのキャッシュ パラメーター化されたクエリの暗号化関連の情報をキャッシュできるようになりました。 「JDBC ドライバーでの Always Encrypted の使用」を参照してください。

11.2 の変更点

Change 詳細
接続プロパティを暗号化する "strict" オプションを追加して TDS 8.0 をサポート 破壊的変更 暗号化接続プロパティが文字列型になりました。
ネゴシエートされた ALPN のチェックを追加 Application-Layer プロトコルが正常にネゴシエートされていることを確認します。
enclaveAttestationProtocol のオプションを追加 構成証明なしでセキュア エンクレーブを使用できるように、NONE プロトコルのオプションが追加されました。
接続文字列で serverName の並べ替えを許可 接続文字列の serverName フィールドに等号がないことを確認します。
msal4j 依存関係を明示化 msal4j に明示的な依存関係を追加しました (以前のリリースでは推移的な依存関係でした)。
更新された依存関係 azure-identityazure-security-keyvault-keys の依存関係のバージョンを更新しました。

11.2 の修正

Fix 詳細
マネージド ID の再試行間隔 マネージド ID の再試行間隔を修正し、適切にエクスポネンシャル バックオフが使用されるようにしました (GitHub イシュー #1765)。
SQL データベースでセッションが強制終了されたときに、予期したとおりに例外がスローされない サーバーで強制終了されたセッションから発生することがある DONE_ERROR 状態トークンに対するチェックを追加しました (GitHub イシュー #1846)。
"insert into" ステートメントを取り消すとアサーションが失敗する ステートメントをキャンセルするとドライバーがアサートする可能性がある問題を修正しました (ステートメント GitHub Issue #1849)。
複数の接続を並列で確立すると、IndexOutOfBoundsException がスローされる 複数の接続を確立するときに IndexOutOfBoundsException が発生する可能性がある addressList の競合状態を修正しました (GitHub イシュー #1852)

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 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 ドライバーの概要