Distributed Tuning Interface Guide (v11)

PvDisconnectSQLConnection() (DTI 関数)

SQL の接続 ID を渡すことによって、アクティブな SQL 接続の切断を試みます。有効な接続 ID を取得するには、PvGetSQLConnectionsData および PvSQLConnectionInfo 関数を使用します。


メモ

SQL 接続ごとに MKDE 接続も確立しています。MKDE 接続を切断するには PvDisconnectMKDEClient を使用します。


ヘッダー ファイル:monitor.h(「ヘッダー ファイル」も参照)

関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)(「リンク ライブラリ」も参照)

構文

BTI_SINT PvDisconnectSQLConnection( 
	BTI_LONG           hConnection, 
	PVSQLCONNID*       pSQLConnId); 

引数

In
hConnection
切断される SQL 接続を含むサーバー接続ハンドル。サーバー接続ハンドルは PvConnectServer() (DTI 関数)関数によって取得されます。
In
pSQLConnId
SQL 接続を識別するための PVSQLCONNID 構造体のアドレス。SQL 接続は PvGetSQLConnectionsData() (DTI 関数)関数によって取得されます。

戻り値

P_OK
操作は成功しました。
P_E_INVALID_HANDLE
接続ハンドルが無効です。
P_E_DATA_UNAVAILABLE
アクティブなクライアントに関連するデータがありません。
P_E_NULL_PTR
ヌル ポインターによる呼び出しです。
P_E_INVALID_CLIENT
クライアント ID が無効です。
P_E_FAIL
名前付きサーバーからの切断に失敗しました。

BTI_SINT status = 0; 
PVSQLCONNINFO connectionInfo; 
PVSQLCONNID   connId; 
status = PvGetSQLConnectionsData (connection, &count); 
while (count > 0) 
 { 
     status = PvGetSQLConnectionInfo(connection, 0, &connectionInfo); 
     connId.u132ProcessId = connectionInfo.u132ProcessId; 
     connId.u132ThreadId = connectionInfo.u132ThreadId; 
     status = PvDisconnectSQLConnection(connection, &connId); 
     status = PvGetSQLConnectionsData(connection, &count); 
 } 
PvFreeSQLConnectionsData(connection, &count); 

備考

以下の前提条件を満たす必要があります。

関連項目

PvStart() (DTI 関数)
PvConnectServer() (DTI 関数)
PvGetSQLConnectionsData() (DTI 関数)
PvGetSQLConnectionInfo() (DTI 関数)
PvDisconnect() (DTI 関数)
PvStop() (DTI 関数)


PvDisconnectMkdeClient() (DTI 関数)

PvDropDatabase() (DTI 関数)