データの整合性のためにデータベースを検証します。
構文
ESS_FUNC_M EssValidateDB (
hCtx, DbName, FileName
);
パラメータ | データ型 | 説明 |
---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
DbName |
ESS_STR_T |
データベース名。必須で、NULLは指定できません。 |
FileName |
ESS_STR_T |
エラー・ログ・ファイル。サーバー上のapp\dbに保存されます。必須。 |
備考
この関数は、検証確認を実行してデータベースの整合性を検証します。
この呼出しの前に、EssSetActiveを呼び出します。
この関数は非同期なので、検証プロセスが終了するまでEssGetProcessStateを続けて呼び出す必要があります。
この関数によって現在のデータベースが検証されます。この関数を呼び出す前に、データベースを選択する必要があります。
この関数は、各ブロックのデータ整合性を確認します。最上位から最下位まで読み取り、検証プロセスでデータベース全体を検証し、ブロック、セクション、ブロック・タイプ、ブロック長および浮動小数点数の有効性を確認します。
この関数によってブロックと不正ブロックに関する情報がログ・ファイルに書き込まれます。
この関数によって整合性エラーが検出されると、検証プロセス・エラー・メッセージがテキスト・フォーマットのログ・ファイルに書き込まれます。ファイルのデフォルト場所は、たとえば%ARBORPATH%\APP\DB\VALIDATE.LSTのようなapplication\databaseディレクトリです
Essbaseインデックスには各データ・ブロックのインデックスが含まれています。すべての読取り操作について、この関数は自動的にインデックス・ページ内のインデックス・キーをそれに対応するデータ・ブロックのインデックス・キーと比較し、ブロックのその他のヘッダー情報を確認します。不一致がある場合、この関数はエラー・メッセージを表示し、データベース全体を確認するまで、処理を続行します。
戻り値
なし。
アクセス
この関数を使用するには、呼出し元が、指定したデータベースに対してデータベース・デザイナ権限(ESS_PRIV_DBDESIGN)を持っている必要があります。
例
ESS_VOID_T ESS_ValidateDB (ESS_HCTX_T hCtx) { ESS_FUNC_M sts = ESS_STS_NOERR; ESS_STR_T DbName; ESS_STR_T FileName; ESS_PROCSTATE_T pState; DbName = "Basic"; FileName = "D:\\AnalyticServices\\app\\sample\\basic\\Validate.lst"; sts = EssValidateDB (hCtx, DbName, FileName); if (!sts) { sts = EssGetProcessState (hCtx, &pState); while (!sts && (pState.State != ESS_STATE_DONE)) sts = EssGetProcessState (hCtx, &pState); } }
関連トピック