Chúng tôi có một số ứng dụng web sản xuất sử dụng cao chạy trên FGDB trên phần phụ trợ. Các FGDB bị xóa sổ và được xây dựng lại với dữ liệu mới hàng đêm. Chúng tôi có một ứng dụng bảng điều khiển .NET mà tôi đã viết dựa trên AGSSOM để dừng các dịch vụ trong khi quá trình cập nhật chạy. Hãy xem AGSSOM, nó khá hấp dẫn. Đây là một số C # tôi sử dụng để tạo bản sao lưu của FGDB hiện tại trước khi tôi thổi bay nó:
// 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);
}
}
}
Nó chỉ sử dụng Directory.CreateDirectory và FileInfo.CopyTo để sao chép FGDB - Windows xem FGDB như một thư mục khác. Hoạt động như một nhà vô địch. Sau đó, sau khi quá trình cập nhật hoàn tất, chúng tôi bắt đầu lại các dịch vụ bằng ứng dụng dựa trên AGSSOM.