【发布时间】:2017-02-19 00:48:35
【问题描述】:
我创建了一个带有数据库备份功能的 WPF 4.5 .NET 应用程序。调试时功能和备份工作正常,但是当我在 ClickOnce 中发布它并将其安装到目标计算机时,除了备份不起作用之外,一切正常,因为 ClickOnce 混淆了应用程序文件夹位置,因此备份语句的工作时间太长!有没有办法使备份语句更短?这是我的代码和我得到的错误: 代码:
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.
【问题讨论】:
标签: c# wpf clickonce database-backups