Microsoft JDBC Driver のリリース ノートRelease notes for the Microsoft JDBC Driver

ダウンロードJDBC Driver のダウンロードDownloadDownload JDBC Driver

この記事では、Microsoft JDBC Driver for SQL Server のリリースを示します。This article lists the releases of the Microsoft JDBC Driver for SQL Server. リリース バージョンごとに、変更された点とそれに関する説明が示されています。For each release version, the changes are named and described.

7.4.17.4.1

準拠Compliance

2019年8月2日August 2, 2019

コンプライアンスの変更Compliance change 詳細Details
JDBC Driver 7.4 用の最新の更新のダウンロード。Download the latest updates for JDBC Driver 7.4. •   Microsoft ダウンロード センター•   Microsoft Download Center
•   7.4.1 (GitHub)•   GitHub, 7.4.1
•   Maven Central•   Maven Central
JDBC API 仕様 4.2 への完全準拠。Fully compliant with JDBC API Specification 4.2. 7.4 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。The jars in the 7.4 package are named according to Java version compatibility.

たとえば、7.4 パッケージの mssql-jdbc-7.4.1.jre11.jar ファイルは、Java 11 で使用する必要があります。For example, the mssql-jdbc-7.4.1.jre11.jar file from the 7.4 package should be used with Java 11.
Java Development Kit (JDK) バージョン12.0、11.0、および1.8 と互換性があります。Compatible with Java Development Kit (JDK) version 12.0, 11.0, and 1.8. Microsoft JDBC Driver 7.4 for SQL Server は、JDK 11.0 と 1.8 に加え、Java Development Kit (JDK) バージョン 12.0 と互換性を持つようになりました。Microsoft JDBC Driver 7.4 for SQL Server is now compatible with Java Development Kit (JDK) version 12.0 in addition to JDK 11.0 and 1.8.
   

JDK 12 のサポートSupport for JDK 12

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

NTLM 認証について説明します。Introduces NTLM authentication

NTLM の変更NTLM change 詳細Details
NTLM 認証モードをサポートします。Supports NTLM authentication mode. この認証モードでは、windows クライアントと Windows 以外のクライアントの両方が Windows ドメインユーザーを使用して SQL Server に対して認証を行うことができます。This mode of authentication allows both Windows and non-Windows clients to authenticate themselves against SQL Server using Windows domain users.
この認証モードを使用するための詳細とサンプル アプリケーション。More details and a sample application to use this authentication mode. NTLM 認証を使用した接続」を参照してください。See Connecting using NTLM Authentication.
   

_UseFmtOnly_を使用した parametermetadata のクエリについて説明します。Introduces querying ParameterMetaData via useFmtOnly

useFmtOnly の変更useFmtOnly change 詳細Details
useFmtOnly接続プロパティが追加されました。useFmtOnly connection property added. この機能により、ユーザーは必要に応じてSET FMTONLY ON 、レガシ API を使用して parametermetadata を照会できます。This feature allows users to optionally query ParameterMetaData via the SET FMTONLY ON legacy API. これは、が期待どおりsp_describe_undeclared_parametersに動作しないシナリオに役立ちます。This is useful for scenarios where sp_describe_undeclared_parameters doesn't perform as expected.
詳細と制限事項についてはこちらを参照してください。More details and limitations. useFMTOnly の使用」をご覧くださいSee Using useFmtOnly
   

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

Key Vault SDK の変更Key Vault SDK change 詳細Details
Microsoft Azure Key Vault SDK for Java の Maven の依存関係がバージョン 1.2.1 に更新されました。Updated its Maven dependency on Microsoft Azure Key Vault SDK for Java to version 1.2.1.  
Maven の依存関係としての Microsoft Azure SDK for Key Vault WebKey が削除されます。Removes Microsoft Azure SDK for Key Vault WebKey as a Maven dependency.  
追加の詳細。Additional details. Feature dependencies of the Microsoft JDBC Driver for SQL Server (Microsoft JDBC Driver for SQL Server の機能の依存関係)」をご覧ください。See Feature dependencies of the Microsoft JDBC Driver for SQL Server.
   

既知の問題Known issues

既知の問題Known issues 詳細Details
NTLM 認証を使用するとき。When using NTLM Authentication. 現在、拡張保護と暗号化された接続を同時に有効化することはできません。Enabling Extended Protection and encrypted connections at the same time is currently not supported.
useFmtOnly を使用するとき。When using useFmtOnly. SQL の解析ロジックの欠陥に起因する、いくつかの機能のイシューがあります。There are some issues with the feature, which are caused by deficiencies in SQL parsing logic. 詳細と回避策の提案については、「 Using useFmtOnly 」を参照してください。See Using useFmtOnly for more details and workaround suggestions.
   

7.2.27.2.2

準拠Compliance

2019 年 4 月 16 日April 16, 2019

コンプライアンスの変更Compliance change 詳細Details
JDBC Driver 7.2 用の最新の更新のダウンロード。Download the latest updates for JDBC Driver 7.2. •   Microsoft ダウンロード センター•   Microsoft Download Center
•   7.2.2 (GitHub)•   GitHub, 7.2.2
•   Maven Central•   Maven Central
JDBC API 仕様 4.2 への完全準拠。Fully compliant with JDBC API Specification 4.2. 7.2 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。The jars in the 7.2 package are named according to Java version compatibility.

たとえば、7.2 パッケージの mssql-jdbc-7.2.2.jre11.jar ファイルは、Java 11 で使用する必要があります。For example, the mssql-jdbc-7.2.2.jre11.jar file from the 7.2 package should be used with Java 11.
Java Development Kit (JDK) バージョン 11.0 および JDK 1.8 と互換性があります。Compatible with Java Development Kit (JDK) version 11.0 in addition to JDK 1.8. Microsoft JDBC Driver 7.2 for SQL Server は、JDK 1.8 に加え、Java Development Kit (JDK) バージョン 11.0 と互換性を持つようになりました。Microsoft JDBC Driver 7.2 for SQL Server is now compatible with Java Development Kit (JDK) version 11.0 in addition to JDK 1.8.
   

注意

2019 年 1 月 31 日にリリースされた JDBC 7.2 Release To Web (RTW) ドライバーで、SQL ステートメントの解析に問題があることがわかりました。An issue with SQL statement parsing was found in the JDBC 7.2 Release To Web (RTW) driver released on January 31, 2019. この変更はロールバックされ、2019 年 2 月 11 日に新しい jar (バージョン 7.2.1) がリリースされました。The change was rolled back, and new jars (version 7.2.1) were released on February 11, 2019.

ドライバーに対して他の更新も行われ、ActivityID が適切に変更されないという問題が修正されました。Another update was made on the driver to fix issues with ActivityIDs not getting cleaned up properly. 新しい jar (バージョン 7.2.2) は、2019 年 4 月 16 日にリリースされました。The new jars (version 7.2.2) were released on April 16, 2019.

7.2.2 リリースの jar を使用するようにプロジェクトを更新することをお勧めします。We recommend updating your projects to use the 7.2.2 release jars. 詳細については、7.2.1 (GitHub)7.2.2 (GitHub) のリリース ノートをご覧ください。For more information, view release notes for GitHub, 7.2.1 and GitHub, 7.2.2.

Azure Active Directory "マネージド サービス ID" (MSI) 認証Active Directory Managed Service Identity (MSI) authentication

MSI の変更MSI change 詳細Details
Azure Active Directory マネージド サービス ID (MSI) 認証モードのサポート。Supports Active Directory Managed Service Identity (MSI) authentication mode. この認証モードは、"ID" 機能の有効化がサポートされている Azure リソースに適用できます。This mode of authentication is applicable on Azure Resources with support for "Identity" feature enabled.

ドライバーによって両方の種類のマネージド システム ID (MSI) がサポートされ、セキュリティで保護された接続を確立するための accessToken が取得されます。Both types of Managed System Identities (MSI) are supported by the driver to acquire accessToken for establishing secure connection.
この認証モードを使用するための詳細とサンプル アプリケーション。More details and a sample application to use this authentication mode. Connecting using Azure Active Directory Authentication (Azure Active Directory 認証を利用した接続)」をご覧ください。See Connecting using Azure Active Directory Authentication.
   

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

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

SQLServerError API を導入Introduces SQLServerError APIs

エラー API の変更Error API change 詳細Details
SQLServerError API が導入されました。SQLServerError API introduced. 生成されたエラーの追加の詳細をサーバーから取得する getter API。Getter APIs to retrieve additional details about the error generated from the server.

•   SQLServerException.getSQLServerError()•   SQLServerException.getSQLServerError()
•   SQLServerError•   SQLServerError
追加の詳細。Additional details. Handling Errors (エラーの処理)」をご覧ください。See Handling Errors.
   

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

ADAL4J の変更ADAL4J change 詳細Details
ADAL4J の Maven の依存関係がバージョン 1.6.3 に更新されました。Updated its Maven dependency on ADAL4J to version 1.6.3.  
Maven の依存関係として、Java Client Runtime for AutoRest が導入されています (バージョン 1.6.5)。Introduces Java Client Runtime for AutoRest as a Maven dependency, version 1.6.5.  
追加の詳細。Additional details. Feature dependencies of the Microsoft JDBC Driver for SQL Server (Microsoft JDBC Driver for SQL Server の機能の依存関係)」をご覧ください。See Feature dependencies of the Microsoft JDBC Driver for SQL Server.
   

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

Key Vault SDK の変更Key Vault SDK change 詳細Details
Microsoft Azure Key Vault SDK for Java の Maven の依存関係がバージョン 1.2.0 に更新されました。Updated its Maven dependency on Microsoft Azure Key Vault SDK for Java to version 1.2.0.  
Maven の依存関係として Microsoft Azure SDK for Key Vault WebKey、バージョン 1.2.0 が導入されます。Introduces Microsoft Azure SDK for Key Vault WebKey as a Maven dependency, version 1.2.0.  
追加の詳細。Additional details. Feature dependencies of the Microsoft JDBC Driver for SQL Server (Microsoft JDBC Driver for SQL Server の機能の依存関係)」をご覧ください。See Feature dependencies of the Microsoft JDBC Driver for SQL Server.
   

既知の問題Known Issues

既知の問題Known issues 詳細Details
クエリがパラメーター化される場合があります。Parameterized queries, in certain cases. この問題に対応するために、7.2.0 バージョンの更新である v7.2.1 が 2019 年 2 月にリリースされました。An update of the 7.2.0 version, v7.2.1, was released in February 2019 to address this issue.
ActivityId のクリーンアップ。Cleaning up of ActivityIds. この問題に対応するために、7.2.1 バージョンの更新である v7.2.2 が 2019 年 4 月にリリースされました。An update of the 7.2.1 version, v7.2.2, was released in April 2019 to address this issue.
   

7.07.0

Microsoft JDBC Driver 7.0 for SQL Server は、JDBC API 仕様 4.2 に完全に準拠しています。Microsoft JDBC Driver 7.0 for SQL Server is fully compliant with JDBC API Specification 4.2. 7.0 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされます。The jars in the 7.0 package are named according to Java version compatibility. たとえば、7.0 パッケージの mssql-jdbc-7.0.0.jre10.jar ファイルは、Java 10 で使用する必要があります。For example, the mssql-jdbc-7.0.0.jre10.jar file from the 7.0 package should be used with Java 10.

JDK 10 のサポートSupport for JDK 10

Microsoft JDBC Driver 7.0 for SQL Server は、JDK 1.8 に加え、Java Development Kit (JDK) バージョン 10.0 と互換性を持つようになりました。Microsoft JDBC Driver 7.0 for SQL Server is now compatible with Java Development Kit (JDK) version 10.0 in addition to JDK 1.8. さらに、この更新により、ドライバーの Automatic-Module-Name が、MANIFEST ファイルを通して com.microsoft.sqlserver.jdbc として公開されます。This update also exposes the driver's Automatic-Module-Name as com.microsoft.sqlserver.jdbc through its MANIFEST file.

空間データ型のサポートSupport for spatial datatypes

Microsoft JDBC Driver 7.0 for SQL Server で、SQL Server の空間データ型である Geography と Geometry のサポートが提供されるようになりました。Microsoft JDBC Driver 7.0 for SQL Server now provides support for SQL Server spatial datatypes Geography and Geometry. 空間データ型の API の詳細とそれらの使用方法については、「空間データ型の使用」を参照してください。For more information about spatial datatype APIs and how to use them, see Using spatial datatypes.

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

Microsoft JDBC Driver 7.0 for SQL Server で、java.sql.Connection クラスから beginRequest() API と endRequest() API が実装されるようになりました。Microsoft JDBC Driver 7.0 for SQL Server now implements beginRequest() and endRequest() APIs from the java.sql.Connection class. これらの API は、JDBC 4.3 仕様と JDK 9 で導入されました。These APIs were introduced with JDBC 4.3 specifications and JDK 9. ドライバーでのこれらの API の実装の詳細については、「JDBC Driver の JDBC 4.3 への準拠」を参照してください。For more information about the driver's implementation of these APIs, see JDBC 4.3 compliance for the JDBC Driver.

SQL データの検出と分類のサポートSupport for SQL Data Discovery and Classification

Microsoft JDBC Driver 7.0 for SQL Server には、SQL データの検出と分類に関するサポートが、この機能に対応している任意のターゲット データベースに向けて用意されています。Microsoft JDBC Driver 7.0 for SQL Server provides support for SQL Data Discovery and Classification with any target database that supports this feature. ドライバーで、フェッチされた ResultSet からこの情報を抽出するための SQLServerResultSet.getSensitivityClassification() API が公開されるようになりました。The driver now exposes SQLServerResultSet.getSensitivityClassification() APIs to extract this information from the fetched ResultSet.

JDBC Driver でこの機能を使用する方法の詳細については、「SQL データの検出と分類」内の例を参照してください。For more information about how to use this feature with the JDBC Driver, see the sample in SQL Data Discovery and Classification.

接続プロパティ useBulkCopyForBatchInsert を追加Added connection property: useBulkCopyForBatchInsert

Microsoft JDBC Driver 7.0 for SQL Server には、新しい接続プロパティである useBulkCopyForBatchInsert が導入されています。Microsoft JDBC Driver 7.0 for SQL Server introduces a new connection property, useBulkCopyForBatchInsert. このプロパティは、Azure SQL Data Warehouse に対してのみサポートされます。This property is supported only for Azure SQL Data Warehouse.

このプロパティは、既定では無効になっています。This property is disabled by default. Azure SQL Data Warehouse に大量のデータをプッシュするときに、それを有効にすることで、ユーザー アプリケーションのパフォーマンスを向上させることができます。You can enable it to increase performance of user applications when you're pushing large amounts data to Azure SQL Data Warehouse. このプロパティを有効にすると、バッチ挿入操作の動作が変更され、ユーザー指定のデータを一括コピーする操作に切り替わります。Enabling this property changes the behavior of batch insert operations to switch to bulk copy operations with user-provided data. このプロパティとその制約については、「Using Bulk Copy API for batch insert operation (一括挿入操作での Bulk Copy API の使用)」を参照してください。For more information about this property and its limitations, see Using Bulk Copy API for batch insert operation.

接続プロパティ cancelQueryTimeout を追加Added connection property: cancelQueryTimeout

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

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

Microsoft JDBC Driver 7.0 for SQL Server には、以前削除された SQLServerColumnEncryptionAzureKeyVaultProvider 用のコンストラクターが再び導入されています。Microsoft JDBC Driver 7.0 for SQL Server reintroduces a previously removed constructor, for SQLServerColumnEncryptionAzureKeyVaultProvider. それは SQLServerKeyVaultAuthenticationCallback で実装されたカスタム メソッドを通して認証を行うことを可能にしていました。It allowed authentication through a custom method implemented over SQLServerKeyVaultAuthenticationCallback to fetch an access token.

新しいコンストラクターには、次の定義が含まれています。The new constructors have the following definition:

/* 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 Authentication Library (ADAL4J) for Java" バージョン: 1.6.0 に更新Updated "Microsoft Azure Active Directory Authentication Library (ADAL4J) for Java" version: 1.6.0

Microsoft JDBC Driver 7.0 for SQL Server では、"Java 用 Microsoft Azure Active Directory 認証ライブラリ (ADAL4J)" に関する Maven の依存関係が 1.6.0 に更新されています。Microsoft JDBC Driver 7.0 for SQL Server has updated its Maven dependency on "Microsoft Azure Active Directory Authentication Library (ADAL4J) for Java" to version 1.6.0. 依存関係の詳細については、「Microsoft JDBC Driver for SQL Server の機能の依存関係」をご覧ください。For more information about dependencies, see Feature dependencies of the Microsoft JDBC Driver for SQL Server.

6.46.4

Microsoft JDBC Driver 6.4 for SQL Server は、JDBC 仕様 4.1 および 4.2 に完全に準拠しています。Microsoft JDBC Driver 6.4 for SQL Server is fully compliant with JDBC specifications 4.1 and 4.2. 6.4 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。The jars in the 6.4 package are named according to Java version compatibility. たとえば、6.4 パッケージの mssql-jdbc-6.4.0.jre8.jar ファイルは、Java 8 で使用する必要があります。For example, the mssql-jdbc-6.4.0.jre8.jar file from the 6.4 package must be used with Java 8.

JDK 9 のサポートSupport for JDK 9

ドライバーでは、JDK 8.0 および 7.0 に加えて JDK バージョン 9.0 がサポートされています。The driver supports JDK version 9.0 in addition to JDK 8.0 and 7.0.

JDBC 4.3 に準拠JDBC 4.3 compliance

ドライバーでは、Java Database Connectivity API 4.1 および 4.2 に加えて、4.3 の仕様もサポートされます。The driver supports the Java Database Connectivity API 4.3 specification, in addition to 4.1 and 4.2. JDBC 4.3 API メソッドは追加されていますが、まだ実装されていません。The JDBC 4.3 API methods are added but not implemented yet. 詳細については、「JDBC Driver の JDBC 4.3 への準拠」をご覧ください。For details, see JDBC 4.3 compliance for the JDBC Driver.

接続プロパティ sslProtocol を追加Added connection property: sslProtocol

新しい接続プロパティを使用して、TLS プロトコルのキーワードを指定できます。A new connection property lets users specify the TLS protocol keyword. 指定できる値は、"TLS"、"TLSv1"、"TLSv1.1"、および "TLSv1.2" です。Possible values are: "TLS", "TLSv1", "TLSv1.1", and "TLSv1.2". 詳細については、「SSLProtocol」を参照してください。For details, see SSLProtocol.

非推奨の接続プロパティ fipsProviderDeprecated connection property: fipsProvider

接続プロパティ fipsProvider は、指定できる接続プロパティの一覧から削除されています。The connection property fipsProvider is removed from the list of accepted connection properties. 詳細については、関連する GitHub pull request を参照してください。For details, see the related GitHub pull request.

カスタムの TrustManager を指定するための接続プロパティを追加Added connection properties for specifying a custom TrustManager

ドライバーでは、trustManagerClass および trustManagerConstructorArg 接続プロパティの追加によって、カスタムの TrustManager の指定がサポートされるようになりました。The driver now supports specifying a custom TrustManager with added trustManagerClass and trustManagerConstructorArg connection properties. Java 仮想マシン (JVM) 環境でのグローバル設定の変更なしで、信頼できる一連の証明書を接続ごとに動的に指定できます。You can dynamically specify a set of certificates that are trusted on a per-connection basis without modifying the global settings for the Java virtual machine (JVM) environment.

テーブル値パラメーターでの datetime/smallDatetime 型のサポートを追加Added support for datetime/smallDatetime in table-valued parameters

ドライバーでは、テーブル値パラメーター (TVP) を使用している場合に、datetime および smallDatetime データ型がサポートされるようになりました。The driver now supports the datatypes datetime and smallDatetime when you're using table-valued parameters (TVPs).

sql_variant データ型のサポートを追加Added support for the sql_variant datatype

JDBC ドライバーでは、SQL Server で使用する sql_variant データ型がサポートされるようになりました。The JDBC Driver now supports sql_variant datatypes to be used with SQL Server. sql_variant データ型は、TVP や一括コピーなどの機能でもサポートされますが、次の制約があります。The sql_variant datatype is also supported with features such as TVPs and bulk copy with the following limitations:

  • 日付の値の場合:For date values:

    sql_variant 列に datetime 値、smalldatetime 値、または date 値が格納されているテーブルに TVP を使用して入力する場合、結果セットに対する getDateTime() メソッド、getSmallDateTime() メソッド、または getDate() メソッドの呼び出しは機能せず、次の例外がスローされます。When you're using a TVP to populate a table that contains datetime, smalldatetime, or date values stored in a sql_variant column, calling the getDateTime(), getSmallDateTime(), or getDate() method on the result set doesn't work and throws the following exception:

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

    回避策として、代わりに getString() メソッドまたは getObject() メソッドを使用してください。As a workaround, use the getString() or getObject() method instead.

  • null 値に対して TVP を sql_variant と共に使用する:Using a TVP with sql_variant for null values:

    TVP を使用してテーブルに入力しているときに、sql_variant 型の列に NULL 値を送信した場合、例外が発生します。If you're using a TVP to populate a table and send a NULL value to the sql_variant column type, you'll encounter an exception. TVPでの sql_variant 型の列への NULL 値の挿入は、現在サポートされていません。Inserting a NULL value with the column type sql_variant in a TVP is currently not supported.

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

JDBC Driver では、パフォーマンスを向上させるための準備されたステートメントのメタデータのキャッシュが実装されています。The JDBC Driver has implemented prepared statement metadata caching for performance improvement. ドライバーでは、準備されたステートメントのメタデータをドライバー内でキャッシュすることがサポートされるようになりました。これには、接続プロパティ disableStatementPoolingstatementPoolingCacheSize が使用されます。The driver now supports caching prepared statement metadata in the driver with disableStatementPooling and statementPoolingCacheSize connection properties. この機能は、既定では無効化されています。This feature is disabled by default. 詳細については、「Prepared statement metadata caching for the JDBC Driver (JDBC Driver での準備されたステートメントのメタデータのキャッシュ)」を参照してください。For more information, see Prepared statement metadata caching for the JDBC Driver.

Linux/Mac での Azure AD 統合認証のサポートを追加Added support for Azure AD Integrated Authentication on Linux/Mac

JDBC ドライバーでは、サポート対象のすべてのオペレーティング システム (Windows、Linux、Mac) 上で Kerberos を使った Azure Active Directory (Azure AD) 統合認証がサポートされるようになりました。The JDBC Driver now supports Azure Active Directory (Azure AD) Integrated Authentication on all supported operating systems (Windows, Linux, and Mac) with Kerberos. 別の方法として、Windows オペレーティング システムでは sqljdbc_auth.dll を使用して認証できます。Alternatively, on Windows operating systems, users can authenticate with sqljdbc_auth.dll.

"Microsoft Azure Active Directory Authentication Library (ADAL4J) for Java" バージョン: 1.4.0 に更新Updated "Microsoft Azure Active Directory Authentication Library (ADAL4J) for Java" version: 1.4.0

SQL Server 用 Microsoft JDBC Driver 7.0 では、"Microsoft Azure Active Directory 認証ライブラリ (ADAL4J) for Java" に関する Maven の依存関係が 1.4.0 に更新されています。The JDBC Driver has updated its Maven dependency on "Microsoft Azure Active Directory Authentication Library (ADAL4J) for Java" to version 1.4.0. 依存関係の詳細については、「Microsoft JDBC Driver for SQL Server の機能の依存関係」をご覧ください。For more information about dependencies, see Feature dependencies of the Microsoft JDBC Driver for SQL Server.

6.26.2

SQL Server 用 Microsoft JDBC Driver 6.2 は、JDBC 仕様 4.1 および 4.2 に完全に準拠しています。Microsoft JDBC Driver 6.2 for SQL Server is fully compliant with JDBC specifications 4.1 and 4.2. 6.2 パッケージ内の jar は Java のバージョンの互換性に従って名前付けされています。The jars in the 6.2 package are named according to Java version compatibility. たとえば、6.2 パッケージの mssql-jdbc-6.2.2.jre8.jar ファイルは、Java 8 で使用することが推奨されています。For example, the mssql-jdbc-6.2.2.jre8.jar file from the 6.2 package is recommended for use with Java 8.

注意

2017 年 6 月 29 日にリリースされた JDBC 6.2 RTW で、メタデータのキャッシュの機能強化に問題があることがわかりました。An issue with the metadata caching improvement was found in the JDBC 6.2 RTW released on June 29, 2017. この機能強化はロールバックされ、2017 年 7 月 17 日に新しい jar (バージョン 6.2.1) がリリースされました。The improvement was rolled back and new jars (version 6.2.1) were released on July 17, 2017.

別の機能強化として、Azure Key Vault に依存するライブラリのバージョンが 1.0.0 にアップグレードされ、2017 年 10 月 19 日に新しい jar (バージョン 6.2.2) がリリースされました。Another improvement upgraded the Azure Key Vault dependent library version to 1.0.0, and new jars (version 6.2.2) were released on October 19, 2017.

JDBC Driver 6.2 の最新の更新を Microsoft Download CenterGitHub および Maven Central からダウンロードしてください。Download the latest updates for JDBC Driver 6.2 from Microsoft Download Center, GitHub, and Maven Central. 6.2.2 リリースの jar を使用するようにプロジェクトを更新してください。Please update your projects to use the 6.2.2 release jars. 詳細については、6.2.1 および 6.2.2 のリリース ノートをご覧ください。For more information, view release notes for 6.2.1 and 6.2.2.

Linux での Azure AD のサポートAzure AD support for Linux

ユーザー名/パスワードとアクセス トークンによる Azure AD 認証を使用して、Linux アプリケーションを Azure SQL Database に接続します。Connect your Linux applications to Azure SQL Database by using Azure AD authentication via username/password and access token methods.

FIPS 対応 JVMFIPS-enabled JVMs

米国連邦標準規格を満たす Federal Information Processing Standard (FIPS) 140 準拠モードで実行されている JVM で JDBC Driver を使用できるようになりました。The JDBC Driver can now be used on JVMs that run in Federal Information Processing Standard (FIPS) 140 compliance mode to meet federal standards on compliance.

Kerberos 認証の機能強化Kerberos authentication improvements

JDBC Driver で、以下がサポートされるようになりました。The JDBC Driver now has support for:

  • Kerberos 構成を変更できない、または新しいトークンまたは keytab を取得できないアプリケーションでのプリンシパル/パスワードの使用。Principal/password method for applications where the Kerberos configuration can't be modified or can't retrieve a new token or keytab. Kerberos 認証のみが許可される SQL Server インスタンスへの認証でこの方法を使用できます。This method can be used for authenticating to a SQL Server instance that allows only Kerberos authentication.
  • サーバー SPN の明示的な設定なしで Kerberos 統合認証を使用するレルム間認証。Cross-realm authentication that uses Kerberos Integrated Authentication without explicitly setting the server SPN. ドライバーでは、レルムが提供されていない場合でも、自動的にそれを計算するようになりました。The driver now automatically computes the realm even when it isn't provided.
  • 偽装されたユーザーの資格情報をデータ ソース経由の GSS 資格情報オブジェクトとして受け入れることによる Kerberos の制約付き委任。Kerberos Constrained Delegation by accepting impersonated user credentials as a GSS credential object via data source. この偽装された資格情報を使用して、Kerberos 接続が確立されます。This impersonated credential is then used to establish a Kerberos connection.

タイムアウトを追加Added timeouts

JDBC Driver では、次の構成可能なタイムアウトがサポートされるようになりました。The JDBC Driver now supports the following configurable timeouts. アプリケーションのニーズに基づいてそれらを変更できます。You can change them based on your application’s needs.

  • クエリを実行しているときに、タイムアウトが発生する前に待機する秒数を制御するクエリのタイムアウト。Query timeout to control the number of seconds to wait before a timeout occurs when you're running a query.
  • ソケットの読み取りまたは受け入れで、タイムアウトが発生する前に待機するミリ秒数を指定するソケットのタイムアウト。Socket timeout to specify the number of milliseconds to wait before a timeout occurs on a socket read or accept.

6.16.1

Microsoft JDBC Driver 6.1 for SQL Server は、JDBC 仕様 4.1 および 4.2 に完全に準拠しています。Microsoft JDBC Driver 6.1 for SQL Server is fully compliant with JDBC specifications 4.1 and 4.2. これは、JDBC ドライバーの最初のオープン ソースのリリースです。This is the initial open-source release of the JDBC Driver. それには、Java のバージョンの互換性に対応する mssql-jdbc-6.1.0.jre8.jar ファイルと mssql-jdbc-6.1.0.jre7.jar ファイルが含まれています。It contains the mssql-jdbc-6.1.0.jre8.jar and mssql-jdbc-6.1.0.jre7.jar files, which correspond to Java version compatibility.

6.06.0

Microsoft JDBC Driver 6.0 for SQL Server は、JDBC 仕様 4.1 および 4.2 に完全に準拠しています。Microsoft JDBC Driver 6.0 for SQL Server is fully compliant with JDBC specifications 4.1 and 4.2. 6.0 パッケージ内の Jar は、JDBC API のバージョンの準拠に従って名前付けされています。The jars in the 6.0 package are named according to their compliance with the JDBC API version. たとえば、6.0 パッケージの sqljdbc42.jar ファイルは、JDBC API 4.2 準拠です。For example, the sqljdbc42.jar file from the 6.0 package is JDBC API 4.2 compliant. 同様に、sqljdbc41.jar ファイルは、JDBC API 4.1 準拠です。Similarly, the sqljdbc41.jar file is compliant with JDBC API 4.1.

適切な sqljdbc42.jar または sqljdbc41.jar ファイルがあることを確認するには、次のコード行を実行します。To ensure that you have the right sqljdbc42.jar or sqljdbc41.jar file, run the following lines of code. 出力が "Driver version: 6.0.7507.100" であれば、JDBC Driver 6.0 パッケージがあります。If the output is "Driver version: 6.0.7507.100", you have the JDBC Driver 6.0 package.

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

Always EncryptedAlways Encrypted

ドライバーでは、SQL Server 2016 の Always Encrypted 機能がサポートされます。The driver supports the Always Encrypted feature in SQL Server 2016. この機能により、SQL Server インスタンスで機密データがプレーン テキストで表示されることはないことが保証されます。This feature ensures that sensitive data is never seen in plaintext in a SQL Server instance. Always Encrypted はアプリケーション内のデータを透過的に暗号化することによって動作します。そのため、SQL Server では暗号化データのみが処理され、プレーンテキスト値は処理されません。Always Encrypted works by transparently encrypting the data in the application, so that SQL Server will handle only the encrypted data and not plaintext values. SQL Server のインスタンスまたはホスト コンピューターが侵害されたとしても、攻撃者が取得できるものは機密データの暗号化テキストだけになります。Even if the SQL Server instance or the host machine is compromised, all an attacker can get is ciphertext of sensitive data. 詳細については、「JDBC ドライバーでの Always Encrypted の使用」をご覧ください。For details, see Using Always Encrypted with the JDBC Driver.

国際化ドメイン名Internationalized domain names

ドライバーでは、サーバー名に関する国際化ドメイン名 (IDN) がサポートされます。The driver supports internationalized domain names (IDNs) for server names. 詳細については、記事「International features of the JDBC Driver (JDBC Driver の国際化機能)」の「Using International Domain Names (国際化ドメイン名の使用)」を参照してください。For details, see "Using International Domain Names" in the International features of the JDBC Driver article.

パラメーター化クエリParameterized queries

ドライバーで、サブクエリや結合など、複雑なクエリのために準備されたステートメントを使ったパラメーター メタデータの取得がサポートされました。The driver now supports retrieving parameter metadata with prepared statements for complex queries, such as subqueries and/or joins. この機能強化を使用できるのは、SQL Server 2012 以降のバージョンを使用している場合のみであることに注意してください。Note that this improvement is available only when you're using SQL Server 2012 and newer versions.

Azure Active DirectoryAzure Active Directory

Azure AD 認証は、Azure AD の ID を使用して Azure SQL Database v12 に接続するメカニズムです。Azure AD authentication is a mechanism of connecting to Azure SQL Database v12 by using identities in Azure AD. Azure AD 認証は、データベース ユーザーの ID を一元管理するために、SQL Server 認証の代替として使用します。Use Azure AD authentication to centrally manage identities of database users and as an alternative to SQL Server authentication.

JDBC Driver 6.0 を使用して、Azure AD の資格情報を JDBC 接続文字列内に指定して Azure SQL Database に接続できます。You can use JDBC Driver 6.0 to specify your Azure AD credentials in the JDBC connection string to connect to Azure SQL Database. 詳細については、「Setting the connection properties (接続プロパティの設定)」の認証プロパティを参照してください。For details, see the authentication property in the Setting the connection properties article.

テーブル値パラメーターTable-valued parameters

TVP は、複数行のデータをクライアント アプリケーションから SQL Server に簡単にマーシャリングするための手段です。複数のラウンド トリップや、データ処理用の特別なサーバー側ロジックは必要ありません。TVPs provide an easy way to marshal multiple rows of data from a client application to SQL Server without requiring multiple round trips or special server-side logic for processing the data. TVP を使用すると、1 つのパラメーター化コマンドで、クライアント アプリケーションで複数行のデータをカプセル化し、そのデータをサーバーに送信できます。You can use TVPs to encapsulate rows of data in a client application and send the data to the server in a single parameterized command. 受信データ行はテーブル変数に格納され、Transact-SQL を使用して操作できます。The incoming data rows are stored in a table variable that you can then operate on by using Transact-SQL. 詳細については、「テーブル値パラメーターの使用」を参照してください。For details, see Using table-valued parameters.

Always On 可用性グループAlways On Availability Groups

ドライバーでは、AlwaysOn 可用性グループへの透過的な接続がサポートされるようになりました。The driver now supports transparent connections to Always On Availability Groups. ドライバーによってサーバー インフラストラクチャの現在の Always On トポロジがすばやく検出され、現在アクティブなサーバーに透過的に接続されます。The driver quickly discovers the current Always On topology of your server infrastructure and connects to the current active server transparently.

4.24.2

Microsoft JDBC Driver 4.2 for SQL Server は、JDBC 仕様 4.1 および 4.2 に完全に準拠しています。Microsoft JDBC Driver 4.2 for SQL Server is fully compliant with JDBC specifications 4.1 and 4.2. 4.2 パッケージ内の Jar は、JDBC API のバージョンの準拠に従って名前付けされています。The jars in the 4.2 package are named according to their compliance with the JDBC API version. たとえば、4.2 パッケージの sqljdbc42.jar ファイルは、JDBC API 4.2 準拠です。For example, the sqljdbc42.jar file from the 4.2 package is JDBC API 4.2 compliant. 同様に、sqljdbc41.jar ファイルは、JDBC API 4.1 準拠です。Similarly, the sqljdbc41.jar file is compliant with JDBC API 4.1.

適切な sqljdbc42.jar または sqljdbc41.jar ファイルがあることを確認するには、次のコード行を実行します。To ensure you have the right sqljdbc42.jar or sqljdbc41.jar file, run the following lines of code. 出力が "Driver version: 4.2.6420.100" であれば、JDBC Driver 4.2 パッケージがあります。If the output is "Driver version: 4.2.6420.100", you have the JDBC Driver 4.2 package.

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

JDK 8 のサポートSupport for JDK 8

ドライバーでは、JDK 7.0、6.0、および 5.0 に加え、JDK バージョン 8.0 がサポートされています。The driver supports JDK version 8.0 in addition to JDK 7.0, 6.0, and 5.0.

JDBC 4.1 および 4.2 への準拠JDBC 4.1 and 4.2 compliance

ドライバーで、Java Database Connectivity API 4.0 だけでなく、4.1 と 4.2 の仕様もサポートされるようになりました。The driver supports Java Database Connectivity API 4.1 and 4.2 specifications, in addition to 4.0. 詳細については、「JDBC Driver の JDBC 4.1 への準拠」および「JDBC Driver の JDBC 4.2 への準拠」を参照してください。For details, see JDBC 4.1 compliance for the JDBC Driver and JDBC 4.2 compliance for the JDBC Driver.

一括コピーBulk copy

一括コピー機能を使うと、SQL Server データベースのテーブルまたはビューに大量のデータを簡単にコピーできます。You use the bulk copy feature to quickly copy large amounts of data into tables or views in SQL Server databases. 詳細については、「JDBC ドライバーでの一括コピーの使用」をご覧ください。For details, see Using bulk copy with the JDBC Driver.

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

既存の準備解除されたトランザクションの自動ロールバックに向けた、新しいタイムアウト オプションがドライバーに追加されました。The driver has new timeout options for existing automatic rollback of unprepared transactions. 詳細については、「Understanding XA transactions (XA トランザクションについて)」を参照してください。For details, see Understanding XA transactions.

新しい Kerberos プリンシパル接続プロパティNew Kerberos principal connection property

Kerberos 接続での柔軟性を強化するために、ドライバーで新しい接続プロパティが使用されます。The driver uses a new connection property to facilitate flexibility with Kerberos connections. 詳細については、「Kerberos 統合認証による SQL Server への接続」をご覧ください。For details, see Using Kerberos Integrated Authentication to connect to SQL Server.

4.14.1

JDK 7 のサポートSupport for JDK 7

ドライバーでは、JDK 6.0 および 5.0 に加え、JDK バージョン 7.0 がサポートされています。The driver supports JDK version 7.0 in addition to JDK 6.0 and 5.0.

Itanium では JDBC Driver 6.4、6.0、4.2、4.1 アプリケーションがサポートされないItanium not supported for JDBC Driver 6.4, 6.0, 4.2, and 4.1 applications

Microsoft JDBC Drivers 6.4、6.0、4.2、4.1 for SQL Server アプリケーションは、Itanium コンピューター上での実行がサポートされていません。Microsoft JDBC Drivers 6.4, 6.0, 4.2, and 4.1 for SQL Server applications aren't supported to run on an Itanium computer.

参照See also

JDBC ドライバーの概要Overview of the JDBC Driver