データの整合性のためにデータベースを検証します。
構文
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);
}
}
関連トピック