Distributed Tuning Interface のリファレンス : PvCheckDbInfo()
 
このページをシェアする                  
PvCheckDbInfo()
データベースの整合性をチェックします。
ヘッダー ファイル:catalog.h(ヘッダー ファイルも参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)、libpsqldti.dylib(OS X)(リンク ライブラリも参照)
構文
BTI_API PvCheckDbInfo(
   BTI_LONG       hConnection,
   BTI_CHAR_PTR   dbName,
   BTI_ULONG      checkFlags);
引数
In
hConnection
サーバーを識別する接続ハンドル。接続ハンドルは PvConnectServer() 関数によって取得されます。
In
dbName
既存の名前付きデータベース名。特定サーバーの名前付きデータベースの全リストは、PvGetDbNamesData() 関数を使って取得できます。結果リストから 1 つの名前付きデータベースを取得するには、PvGetDbName() 関数を使用します。
In
checkFlags
予約済み関数はすべてのデータベース フラグをチェックします。
戻り値
P_OK
操作は成功しました。
P_E_INVALID_HANDLE
サーバーを識別する接続ハンドルが無効です。
P_E_NULL_PTR
関数はヌル ポインターによって呼び出されました。
P_E_ACCESS_RIGHT
関数を呼び出すのに十分なアクセス権がありません。
P_E_NOT_EXIST
dbName で指定された名前付きデータベースは存在しません。
P_E_FAIL
一般エラーが発生しました。
備考
データベースに一貫性がある場合、この関数の戻り値は P_OK になります。データベースに一貫性がない場合、または関数呼び出しが失敗した場合、戻り値は上に挙げたエラー コードのいずれかになります。
BTI_WORD     res;         // 関数呼び出しから返される値
BTI_CHAR_PTR dbName;      // データベース名
BTI_ULONG    checkFlags;  // データベース フラグ
BTI_LONG     hConnection; // 接続ハンドル
BTI_LONG     reserved;    // PvStart() および PvStop() 用に予約されている値
 
  // 変数を初期化する
dbName = "demodata";
  // データベースの名前は「demodata」
checkFlags = 0xFFFFFFFF;   // すべてのフラグをチェックする
hConnection = P_LOCAL_DB_CONNECTION;
  // 接続ハンドルをローカル接続に設定する
 
  // P_LOCAL_DB_CONNECTION は config.h に定義されている
reserved = 0;
 
  // DTI 呼び出しを実行する前に、DTI セッションを開始する
res = PvStart (reserved);
 
if (res == P_OK)
{
    // DTI セッションは正常に開始されました
    // これで、さまざまな DTI 呼び出しを実行できます
 
    res = PvCheckDbInfo (hConnection,
                         dbName,
                         checkFlags);
 
    if (res == P_OK)
    {
        // データベースは整合しています
    }
    else
    {
        // ここに、PvCheckDbInfo() から返されたエラー コード
        // を処理するコードを記述します
    }
    // DTI セッションを閉じる
    Res = PvStop (&reserved);
}
関連項目
PvStart()
PvConnectServer()
PvGetDbNamesData()
PvGetDbName()
PvFreeDbNamesData()
PvDisconnect()
PvStop()