我有一个c#程序,它连接到db
的连接字符串。我想在另一台电脑上复制该程序,并在调试文件夹中复制.mdf file
。当我使用
Data Source=.\\SQLEXPRESS;initial catalog=test;Integrated Security=true;
我有错误,如
SQL网络接口,错误:26 - 查找服务器/实例时出错 指定的
在其他电脑中。
另一方面,当我像这样更改cstring
时,
Data Source=.\\SQLEXPRESS;AttachDbFileName=|DataDirectory|test.mdf;Integrated Security=true;
我的视觉工作室出现此错误
数据库“{0}”已存在。选择其他数据库名称。 无法将文件“{0}”附加为数据库“{1}”。
真的我不知道如何解决这个错误的帮助!
是否有必要在其他电脑中拥有服务器名称SQLEXPRESS
和数据库名称test
?
答案 0 :(得分:1)
如果您希望应用程序连接到*.mdf
文件中的数据库,则似乎需要在要处理该文件的PC上安装某种SQL Server。这可能是本地SQL服务器或远程服务器。
连接字符串的.
部分中的点Data Source
表示您引用运行应用程序的本地计算机。因此,当您将应用程序移动到另一台PC并将Data Source
保留为.\\SQLEXPRESS
时,您可以在另一台PC上引用SQLEXPRESS
SQL Server实例。它可能没有安装SQL Server(或者有另一个SQL实例名称),这会导致您所描述的错误。
因此,基本上,解决问题的一种方法是在另一台PC上安装某种形式的SQL服务器,如果可能的话。对于SQL Server 2012,可以使用特殊版本的SQL Server运行时作为Microsoft站点的单独下载。有关更多信息和其他说明,请参阅this answer on SO。
如果您不想在本地安装SQL Server,则还可以通过在另一台计算机上使用远程SQL Server来解决该问题。在这种情况下,点.
应替换为SQL Server所在的计算机的名称,并且该计算机可以访问该计算机的名称。