バックエンドのFGDBで実行される、使用率の高い運用Webアプリケーションがいくつかあります。FGDBは毎晩消去され、新しいデータで再構築されます。更新プロセスの実行中にサービスを停止するAGSSOMに基づいて作成した.NETコンソールアプリがあります。AGSSOMをチェックしてください。とても滑らかです。以下に、現在のFGDBのバックアップを作成するために使用するC#の一部を示します。
// Only archive it FGDB already exists, if this is first run, then nothing to archive
if (Directory.Exists(String.Concat(c.fgdbDir, @"\", kvp.Key[0], ".gdb")))
{
c.msg = String.Concat(Environment.NewLine, "Archiving data for ", kvp.Key[0], " - ",
DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt"));
Messaging.Log(c.msg, c.lw);
// Create the FGDB folder in archive dir if not already there
if (!Directory.Exists(String.Concat(c.fgdbArchiveDir, @"\", kvp.Key[0], ".gdb")))
{
Directory.CreateDirectory(String.Concat(c.fgdbArchiveDir, @"\", kvp.Key[0], ".gdb"));
// Now copy from clips to archive
foreach (FileInfo fi in source.GetFiles())
{
fi.CopyTo(System.IO.Path.Combine(target.ToString(), fi.Name), true);
}
}
}
Directory.CreateDirectoryとFileInfo.CopyToを使用してFGDBをコピーするだけです-WindowsはFGDBを単なる別のフォルダーと見なします。チャンピオンのように機能します。次に、更新プロセスが完了した後、AGSSOMベースのアプリケーションを使用してサービスを再度開始します。