PvDisconnectSQLConnection()
SQL の接続 ID を渡すことによって、アクティブな SQL 接続の切断を試みます。有効な接続 ID を取得するには、PvGetSQLConnectionsData および PvSQLConnectionInfo 関数を使用します。
メモ:SQL 接続ごとに MicroKernel エンジン接続も確立しています。これらの接続を切断するには PvDisconnectMKDEClient を使用します。
ヘッダー ファイル:monitor.h(
「ヘッダー ファイル」も参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)、libpsqldti.dylib(macOS)(
「リンク ライブラリ」も参照)
構文
BTI_SINT PvDisconnectSQLConnection(
BTI_LONG hConnection,
引数
戻り値
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);
備考
以下の前提条件を満たす必要があります。
•PvConnectServer() によって接続が確立している。ただし、ローカル マシンで操作を実行する場合は、接続ハンドルとして P_LOCAL_DB_CONNECTION を使用できます。
関連項目