我在项目中添加了本地数据库,并添加了表格等。而且效果很好。但是,我希望我的一个朋友测试该应用程序,并且每当应该使用数据库时,他都会遇到错误:

我在网上阅读了有关此内容的内容,似乎没有适用于我的解决方案。

我曾尝试过:打开数据源,添加新数据源,并使用我的数据库。
似乎没有任何作用。

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

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

最佳答案

对我有用的答案是首先将连接字符串更改为@"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“ feature” ...

10-06 12:25
查看更多