基になる最後の接続が解放されたときに、 OleDbConnection オブジェクトのプールを削除できることを示します。
Public Shared Sub ReleaseObjectPool()
[C#]
public static void ReleaseObjectPool();
[C++]
public: static void ReleaseObjectPool();
[JScript]
public static function ReleaseObjectPool();
解説
ReleaseObjectPool を呼び出すと、プールされた OleDbConnection オブジェクト用に予約されていたリソースを解放できます。たとえば、接続オブジェクトをしばらくの間使用しない場合に、このメソッドを呼び出します。その間も、OLE DB サービスは、通常、プールされた接続をアクティブなまま維持します。このメソッドを呼び出すだけでは、プール内のアクティブな接続は実際には解放されないことに注意してください。
プールを最終的に破棄するには、次の処理を実行する必要があります。
- Close を呼び出して、接続オブジェクトをプールに返します。
- 各接続オブジェクトをプールからタイムアウトさせます。
- ReleaseObjectPool を呼び出します。
- ガベージ コレクションを起動します。
逆に、すべてのアクティブな接続に対して Close を呼び出し、ガベージ コレクションを起動しても、 ReleaseObjectPool を呼び出さない限り、プールされたオブジェクト用に予約されたリソースは利用可能な状態で残されます。
使用例
[Visual Basic, C#, C++] OleDbConnection を作成し、接続を開いて、そのプロパティの一部を表示してから、接続を閉じ、オブジェクト プールを解放してリソースを節約する例を次に示します。
Public Sub CreateOleDbConnection(myConnString As String)
Dim myConnection As New OleDbConnection(myConnString)
myConnection.Open()
MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _
+ ControlChars.Cr + "State: " + myConnection.State.ToString())
myConnection.Close()
OleDbConnection.ReleaseObjectPool()
End Sub
[C#]
public void CreateOleDbConnection(string myConnString)
{
OleDbConnection myConnection = new OleDbConnection(myConnString);
myConnection.Open();
MessageBox.Show("ServerVersion: " + myConnection.ServerVersion
+ "\nState: " + myConnection.State.ToString());
myConnection.Close();
OleDbConnection.ReleaseObjectPool();
}
[C++]
public:
void CreateOleDbConnection(String* myConnString)
{
OleDbConnection* myConnection = new OleDbConnection(myConnString);
myConnection->Open();
MessageBox::Show(String::Format( S"ServerVersion: {0}\nState: {1}", myConnection->ServerVersion, __box(myConnection->State)));
myConnection->Close();
OleDbConnection::ReleaseObjectPool();
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
OleDbConnection クラス | OleDbConnection メンバ | System.Data.OleDb 名前空間