我正在開發一個使用Microsoft mdb數據庫「OLEDB.12.0」存儲記錄的C#應用程序,所有工作都很好。不過,我希望能夠在用戶單擊按鈕時備份數據庫。C#將應用程序mdb數據庫保存爲備份
目前,我正在使用以下代碼,該代碼在通過MS Studio 2015運行時運行,但在安裝後失敗。
string DBFile = "Database.mdb" as string;
//Set Database Filename As Today's Date For Backup And Replace Unwanted Characters
string ThisDate = DateTime.Now.ToString("M/d/yyyy") as string;
char[] separators = new char[] { ' ', '/', ',', '\r', '\t', '\n' };
string[] temp = ThisDate.Split(separators, StringSplitOptions.RemoveEmptyEntries);
ThisDate = String.Join("_", temp);
//Open The Save Dialog
SaveFileDialog openFileDialogDB = new SaveFileDialog();
openFileDialogDB.InitialDirectory = Application.ExecutablePath.ToString();
openFileDialogDB.Filter = "mdb files (*.mdb)|*.mdb|All files (*.*)|*.*";
openFileDialogDB.FilterIndex = 1;
openFileDialogDB.RestoreDirectory = true;
openFileDialogDB.FileName = ThisDate;
if (openFileDialogDB.ShowDialog() == DialogResult.OK)
{
//Save Database Backup
File.Copy(DBFile, openFileDialogDB.FileName, true);
}
使用Install Shield安裝後出現的錯誤是。
System.IO.FileNotFoundException:找不到文件'Database.mdb'。 文件名稱:'Database.mdb'
並安裝後使用一鍵安裝我得到。
System.IO.FileNotFoundException:未能找到文件 「C:\ Users \用戶名\ AppData \本地\ APPS \ 2.0 \ X27G5OGV.1A8 \ X58VR M4Y.HGD \ lght..tion_0 000000000000000_0001 .0000_f0c86b36a0494a 4c \ Database.mdb'
所以我的問題是如何在安裝應用程序後對數據庫進行備份。
奇怪的是,如果我將Install Shield配置爲在安裝完成後運行應用程序,然後執行數據庫備份,它將正常工作。但是,如果我退出並重新啓動應用程序,它又失敗了
本地數據庫是MDF的權利?如果我沒有弄錯,mdb是mdf的數據文件。你應該複製mdf而不是mdb嗎? – Krishna
啊!我沒有想到,會試一試。謝謝 – Malcolm
在複製之前嘗試分離 – Krishna