使用连接字符串连接到数据库时出错并且附加db文件时出错

时间:2015-12-31 18:17:33

标签: c# sql-server connection-string

我有一个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

1 个答案:

答案 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所在的计算机的名称,并且该计算机可以访问该计算机的名称。