EssArchiveDatabase

指定されたバックアップ・ファイルにデータベースのアーカイブを作成します。

構文

            ESS_FUNC_M EssArchiveDatabase (hCtx, AppName, DbName, BackupFileName, OptionsFileName, bOverWrite);
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

ログイン・コンテキスト

AppName

ESS_STR_T

アプリケーション名

注:

データベース・レベルでのみ動作します。AppNameパラメータはアプリケーションを指定し、存在するデータベースにアクセスできるようにします。

DbName

ESS_STR_T

データベース名

BackupFileName

ESS_STR_T

データをアーカイブするバックアップ・ファイルへのフルパス。次の例のようにフル・パスを指定します:

                  c:\hyperion\Test.arc
               

OptionsFileName

ESS_FILENAME_T

今後の使用のために予約済。

注:

このリリースでは空の文字列を使用します。

bOverWrite

ESS_BOOL_T

ブール。値:

  • ESS_TRUE - 既存のバックアップ・ファイルを上書きします。

  • ESS_FALSE - 上書きしません。既存のバックアップ・ファイルに追加します。

戻り値

戻り値:

アクセス

呼出し元にはデータベースへの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);
}
      

関連トピック

  • EssRestoreDatabase