2012-09-25 44 views
3

當我進行數據庫備份時,出現數據庫不存在的錯誤,但我可以將數據庫連接好,並且其他進程(如數據插入和更新工作正常)。但是當我進行數據庫備份時,它會給出下面的錯誤。數據庫不存在錯誤

我顯示錯誤屏幕快照和備份按鈕的代碼

string cnstr="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\fees_data.mdf;Integrated Security=True;User Instance=True;" 



SqlConnection connect; 
     connect = new SqlConnection(cnstr); 
     connect.Open(); 
     if (txtdname.Text == "") 
     { dname = "Default.bak"; } 
     else 
     { dname = txtdname.Text + ".bak"; } 
     SqlCommand command; 
     command = new SqlCommand(@"backup database fees_data to disk ='c:\DATABackup\" + dname + "'", connect); 
     command.ExecuteNonQuery(); 
     connect.Close(); 

當我點擊備份按鈕,我得到的錯誤:

"Database 'fees_data' does not exist. Make sure that the name is entered correctly. BACKUP DATABASE is terminating abnormally."

+0

這將在這方面的工作

SqlCommand command; command = new SqlCommand(@"backup database fees_data to disk ='c:\DATABackup\" + dname + "'", connect); command.ExecuteNonQuery(); 

使用代碼,您只需符合數據庫名稱和路徑沒有任何代碼錯誤,請查看您的數據庫名稱和路徑你存儲你的備份文件... –

回答

3

數據庫名稱可能不一樣.mdf文件名。

運行此查詢時會得到什麼結果?

select name from sys.databases; 

從那裏使用正確的名稱。

1

,而不是這個代碼寫在下面

string fullPath= ""; 
string executable = System.Reflection.Assembly.GetExecutingAssembly().Location; 
fullPath= (System.IO.Path.GetDirectoryName(executable)); 
AppDomain.CurrentDomain.SetData("DataDirectory", fullPath); 
fullPath=fullPath+"\\fees_data.mdf"; 

SqlCommand command; 
command = new SqlCommand(@"backup ['"+fullPath+"'] to disk ='c:\DATABackup\" + dname + "'", connect); 
command.ExecuteNonQuery(); 
相關問題