接続プールの使用

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

注意

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

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

クラス Implements 説明

com.microsoft.sqlserver.jdbc.SQLServerXADataSource

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

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

com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource

javax.sql.ConnectionPoolDataSource

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

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

注意

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

参照

その他のリソース

JDBC ドライバによる SQL Server への接続