我在项目中添加了一个本地数据库,添加了表等。它工作正常。但是,我希望我的一个朋友测试应用程序,每当应该使用数据库时,他都会收到错误:
我在网上看到这个,似乎没有任何解决方案对我有用。
我尝试过:打开数据源,添加新数据源,并使用我的数据库。 似乎没什么用。
每当我将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 :(得分: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“功能”...