指定されたバックアップ・ファイルにデータベースのアーカイブを作成します。
構文
ESS_FUNC_M EssArchiveDatabase (hCtx, AppName, DbName, BackupFileName, OptionsFileName, bOverWrite);
パラメータ | データ型 | 説明 | ||
---|---|---|---|---|
hCtx |
ESS_HCTX_T |
ログイン・コンテキスト |
||
AppName |
ESS_STR_T |
アプリケーション名
|
||
DbName |
ESS_STR_T |
データベース名 |
||
BackupFileName |
ESS_STR_T |
データをアーカイブするバックアップ・ファイルへのフルパス。次の例のようにフル・パスを指定します: c:\hyperion\Test.arc |
||
OptionsFileName |
ESS_FILENAME_T |
今後の使用のために予約済。
|
||
bOverWrite |
ESS_BOOL_T |
ブール。値:
|
戻り値
戻り値:
0 - 正常終了の場合
エラー番号 - 失敗した場合
アクセス
呼出し元にはデータベースへのEssbase管理者アクセス権限が必要です。
例
void RestoreDB()
{
ESS_FUNC_M sts = ESS_STS_NOERR;
ESS_STR_T AppName = "Backup";
ESS_STR_T DbName = "Basic";
ESS_STR_T BackupFileName =
"F:\\testArea\\ArchiveAndRestore\\TempBackup.arc";
ESS_STR_T optionsFileName = "";
ESS_BOOL_T bOverWrite;
ESS_BOOL_T bForceDiffName;
ESS_USHORT_T count;
ESS_PDISKVOLUME_REPLACE_T replaceVol;
printf("\nArchive DB:\n");
bOverWrite = ESS_TRUE;
sts =
EssArchiveDatabase(hCtx, AppName, DbName,
BackupFileName, optionsFileName,
bOverWrite);
printf("EssArchiveDatabase sts: %ld\r\n",sts);
sts = EssUnloadApplication(hCtx, AppName);
printf("\nEssUnloadApplication sts: %ld\r\n",sts);
printf("\nCase with no volume replacement:\n");
bForceDiffName = ESS_FALSE;
count = 0;
replaceVol = ESS_NULL;
sts = EssRestoreDatabase (hCtx, AppName, DbName,
BackupFileName, bForceDiffName,
count, replaceVol);
printf("EssRestoreDatabase sts: %ld\r\n",sts);
printf("\nCase with a replacement volume (index and page files to a different volume):\n");
bForceDiffName = ESS_FALSE;
count = 1;
if (count)
{
sts = EssAlloc(hInst, count * sizeof(ESS_DISKVOLUME_REPLACE_T),
(ESS_PPVOID_T)&replaceVol);
memset(replaceVol, 0, count * sizeof(ESS_DISKVOLUME_REPLACE_T));
}
strcpy(replaceVol->szPartition_Src, "C");
strcpy(replaceVol->szPartition_Dest, "F");
sts = EssUnloadApplication(hCtx, AppName);
printf("\nEssUnloadApplication sts: %ld\r\n",sts);
sts = EssRestoreDatabase (hCtx, AppName, DbName,
BackupFileName, bForceDiffName,
count, replaceVol);
printf("EssRestoreDatabase sts: %ld\r\n",sts);
if (replaceVol)
EssFree(hInst, replaceVol);
}
関連トピック