使用MSSQL在VS2012中遇到本地数据库问题

时间:2014-09-20 23:15:51

标签: c# sql-server visual-studio-2012

我在项目中添加了一个本地数据库,添加了表等。它工作正常。但是,我希望我的一个朋友测试应用程序,每当应该使用数据库时,他都会收到错误:enter image description here

我在网上看到这个,似乎没有任何解决方案对我有用。

我尝试过:打开数据源,添加新数据源,并使用我的数据库。 似乎没什么用。

每当我将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"

如果需要更多信息,请在下方评论。

1 个答案:

答案 0 :(得分:0)

对我有用的答案首先是将连接字符串更改为@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Data.mdf;Integrated Security=True;Connect Timeout=30"注意:fire目录已更改为|DataDirectory|

然后考虑Erik Funkenbusch的评论我必须在目标计算机上安装SQL Server LocalDB Express。我通过在发布之前在应用程序先决条件中添加LocalDB来实现此目的。

此外,

Aaron Bertrand建议删除AttachDbFileName - 他的解释:

  

你真的不应该使用AttachDbFileName。原因如下:当您和您的朋友使用您自己的应用程序连接到“数据库”时,您实际上会得到两个不同的数据库副本。所以他会添加一行,你不会看到它,反之亦然。备份数据库并将其还原到实例并停止使用AttachDbfileName“功能”...