2014-09-20 71 views
2

我在本項目中添加了本地數據庫,添加了表格等。它工作正常。不過,我想我的一個朋友來測試應用程序,並且每當數據庫應該使用,他得到了一個錯誤:enter image description here在使用MSSQL的VS2012中遇到本地數據庫問題

我看網上關於這一點,似乎沒有被任何解決方案,爲我工作。

我試過了:打開數據源,添加新的數據源,並使用我的數據庫。 似乎沒有任何工作。

每當我將bin/debug/文件夾複製到我的另一臺計算機時,我會得到相同的錯誤。 我也嘗試發佈應用程序,每次我將它安裝在另一臺PC上時,出現同樣的錯誤。

編輯:我的連接字符串:下面

@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Name\documents\visual studio 2012\Projects\TestApp\TestApp\Data.mdf;Integrated Security=True;Connect Timeout=30"

註釋如果需要更多的信息。

+0

它的一個數據庫連接的問題。你需要檢查你是否能夠通過sql studio進行連接。有一個非常好的網站連接字符串,可以幫助你http://www.connectionstrings.com/sql-server/ – codebased 2014-09-20 23:19:29

+0

最有可能它不是你的代碼的錯誤。默認情況下,到SQL Server的遠程連接被阻止。您可能需要配置服務器本身http://blogs.msdn.com/b/sqlexpress/archive/2005/05/05/415084.aspx – Crowcoder 2014-09-20 23:22:50

+0

這是我的連接字符串:'const string connStr = @「Data Source = (LocalDB)\ v11.0; AttachDbFilename = C:\ Users \ Name \ documents \ visual studio 2012 \ Projects \ TestApp \ TestApp \ Data.mdf; Integrated Security = True; Connect Timeout = 30「;' – Val 2014-09-20 23:37:46

回答

0

爲我工作的回答是首先改變連接字符串@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Data.mdf;Integrated Security=True;Connect Timeout=30"注:火目錄與|DataDirectory|

,然後採取在考慮Erik Funkenbusch的意見改變了我不得不安裝SQL Server的LocalDB快遞在目標計算機上。我通過在發佈之前在應用程序先決條件中添加LocalDB來實現此目的。

此外,

Aaron Bertrand建議刪除AttachDbFileName - 他的解釋:

You really shouldn't be using AttachDbFileName. Here's why: when you and your friend connect to "the database" with your own applications, you actually get two different copies of the database. So he will add a row and you won't see it and vice-versa. Take a backup of your database and restore it to the instance and stop using the AttachDbfileName "feature"...

相關問題