我已經創建了一個WPF 4.5 .NET應用程序,它具有數據庫備份功能。在調試時,函數和備份工作正常,但是當我將它發佈到ClickOnce中並將其安裝到目標機器中時,除備份之外的所有工作都將正常工作,因爲ClickOnce模糊了應用程序文件夾位置,因此備份語句運行時間過長!有沒有辦法讓備份聲明更短?這裏是我的代碼和錯誤,我得到: 代碼:在ClickOnce中備份localDB數據庫
SaveFileDialog sfd = new SaveFileDialog();
string stringCon = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\whdb.mdf;Integrated Security=True";
string dbPath = Application.StartupPath + @"\whdb.mdf";
if (sfd.ShowDialog() == DialogResult.OK)
{
using (SqlConnection conn = new SqlConnection(stringCon))
{
string backupStmt = string.Format(@"backup database @whdb to disk='{0}' WITH INIT ", sfd.FileName);
using (SqlCommand sqlComm = new SqlCommand(backupStmt, conn))
{
sqlComm.Parameters.AddWithValue("@whdb", dbPath);
conn.Open();
sqlComm.ExecuteNonQuery();
conn.Close();
}
}
)
**************異常文本**************
System.Data.SqlClient.SqlException (0x80131904): Invalid database name 'C:\Users\Abubaker\AppData\Local\Apps\2.0\52WR4JTO.12O\D6M4D7OQ.Z3D\sa3a..tion_fef19ab42c2b8f22_0001.0000_9fc10c82bbf23ed2\whdb.mdf' specified for backup or restore operation.
BACKUP DATABASE is terminating abnormally.
不工作!問題仍然存在,因爲我必須在備份語句中使用Application.StartupPath!連接字符串很好 – user7586828
我知道將localDB附加到項目和發佈的過程。也許,您需要了解|數據目錄|。祝你好運 ! –