次の方法で共有


接続プールの使用

Microsoft SQL Server JDBC Driver は、Java Platform, Enterprise Edition (Java EE) の接続プールをサポートします。JDBC ドライバーは、ミドルウェア ベンダーが提供し JDBC 3.0 に準拠する接続プールの実装に参加できるように、JDBC 3.0 に必要なインターフェイスを実装しています。Java EE アプリケーション サーバーのようなミドルウェアの多くは、準拠した接続プール機能を備えています。JDBC ドライバーは、これらの環境でプールされた接続に参加します。

注意

JDBC ドライバーは Java EE 接続プールをサポートしますが、独自のプール実装は提供しません。このドライバーでは、接続の管理をサードパーティの Java アプリケーション サーバーに依存しています。

接続プールを実装するためのクラスは次のとおりです。

クラス 実装 説明

com.microsoft.sqlserver.jdbc.SQLServerXADataSource

javax.sql.ConnectionPoolDataSource および javax.sql.XADataSource

Java EE サーバーはすべての JDBC 3.0 プールおよび XA インターフェイスを実装するので、常に SQLServerXADataSource クラスを使用することをお勧めします。

com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource

javax.sql.ConnectionPoolDataSource

このクラスは、Java EE アプリケーション サーバーが物理接続による接続プールを作成するための接続ファクトリです。Java EE ベンダーの構成で、javax.sql.ConnectionPoolDataSource を実装するクラスが必要な場合は、クラス名に SQLServerConnectionPoolDataSource を指定します。通常、代わりに SQLServerXADataSource クラスを使用することをお勧めします。このクラスはプールと XA インターフェイスの両方を実装し、多くの Java EE サーバー構成で検証されているためです。

JDBC のアプリケーション コードでは、プールの利点を最大限に活かすため、常に接続を明示的に閉じる必要があります。アプリケーションが接続を明示的に閉じると、プール実装は直ちに接続を再利用することができます。接続が開いたままの場合、他のアプリケーションはその接続を再利用することができません。アプリケーションは、finally 構文を使用して、例外が発生した場合でもプールされた接続が確実に閉じられるようにします。

注意

現在 JDBC ドライバーは、接続をプールに返すとき sp_reset_connection ストアド プロシージャを呼び出しません。ただし、接続を元の状態に戻すときは、サードパーティの Java アプリケーション サーバーに依存します。

参照

その他のリソース

JDBC Driver による SQL Server への接続