1
我遇到以下C#代碼執行備份的問題,特別是在連接字符串中。連接字符串和sql備份
的代碼如下:
private void BK()
{
string strconn = @"Data Source=.\SQLEXPRESS; AttachDbFilename=|DataDirectory|\db.mdf;Integrated Security=True;User Instance=True";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = strconn;
try {
//Query per backup
string queryBK = "BACKUP DATABASE db TO DISK ='C:\\Program Files\\Microsoft SQLServer\\MSSQL10.SQLEXPRESS\\MSSQL\\Backup\\db.bak' WITH INIT, SKIP, CHECKSUM";
SqlCommand cmdBK = new SqlCommand(queryBK, conn);
conn.Open();
cmdBK.ExecuteNonQuery();
MessageBox.Show("backup effettuato");
}
catch (Exception ex) {
MessageBox.Show(ex.Message, "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally {
conn.Close();
}
}
此代碼的開發PC上,但如果我在另一臺PC上安裝我的應用程序,它拋出這個錯誤:
The database does not exist. Verify that the name has been entered correctly. INTERRUPTION ANOMALOUS BACKUP DATABASE.
我想強調的是,這個字符串在我的PC和PC測試中都可以很好地運行INSERT,DELETE,UPDATE 。
如果我更換連接字符串:
string strconn = @"Data Source=.\SQLEXPRESS; Database = db;Trusted_Connection =True";
字符串作品在我的開發機器上,但不是在測試機上。它會拋出以下錯誤:
Can not open database requested by the login. Login failed. Login failed for user Pina-PC \ Pina
測試服務器是如何設置的?運行代碼的哪種類型的應用程序(Web應用程序,Windows桌面應用程序)? – Asken