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 関数)