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