2012-02-11 74 views
0

我正在使用以下代碼將數據庫附加到SQL Server。問題是如果我創建一個新文件並通過我的代碼附加它,但是當我使用SSMS分離文件並再次運行相同的代碼時,它會給出錯誤。已將數據庫分離後附加數據庫

錯誤是:

無法打開物理文件 「E:\ dbForATTWithPWD.mdf」。工作 系統錯誤2: 「2(未找到錯誤)」

的代碼是:

Dim conn As New SqlConnection("Server=MyHomeServer\SQLExpress;Database=master;Integrated Security=SSPI") 
Dim cmd As New SqlCommand("", conn) 
cmd.CommandText = "CREATE DATABASE MyHomeWithPWD ON (FILENAME = 'e:\dbForATTWithPWD.mdf'), (FILENAME = 'e:\dbForATTWithPWD_log.ldf') FOR ATTACH" 
conn.Open() 
cmd.ExecuteNonQuery() 
cmd.Dispose() 
conn.Dispose() 

爲什麼會發生。即使是第一次,所有的權限都是一樣的。

另外如果我需要使用數據庫與uid sa和pwd abc123什麼應該是連接字符串? 謝謝

回答

0

嘗試確保在分離它之後沒有其他人訪問該mdb文件。我可能會關閉該SQLServer實例並重新啓動。另外,我會確保你可以分離並重新安裝SSMS。

對於您的連接字符串,請嘗試以下操作:「Server = YOURSVR; Database = DB; Trusted_Connection = False; User ID = sa; Password = abc123;」

+0

謝謝!我試圖通過SSMS附加它,它的工作原理,但通過我的代碼,它說無法打開物理文件。新創建沒有問題。 – 2012-02-12 06:30:41

+0

密碼部分工作正常,數據庫被替換爲主 – 2012-02-12 06:39:00