从C#应用程序连接到本地SQL Server时出错

时间:2016-01-05 18:39:48

标签: c# sql

在PC1中,我创建了一个C#应用程序获取使用本地SQL服务器数据库的表单,然后使用Visual Studio将我的应用程序部署到.exe文件。然后我将exe文件安装到同一台PC(PC1)中,我工作正常,可以使用以下连接字符串连接到SQL数据库:

        SqlConnection con = new SqlConnection("Data Source=local; Initial Catalog=mydb; Integrated Security=True");

问题是:当我去另一台PC(PC2)时,我安装了SQL服务器并手动连接了相同的数据库(mydb),然后安装了我的应用程序,但它给了我以下错误:

screenshot

然而,当我更改PC2的名称与PC1相同时,应用程序可以连接并且运行良好。这意味着如果我想在不同的PC上安装我的应用程序,那么我必须将该PC命名为与原始PC相同的名称。我在(PC1)创建了我的C#。

为什么会发生这种错误?我的意思是为什么我必须将其他PC设置为与原始PC(PC1)同名。请帮我解决这个问题。谢谢

2 个答案:

答案 0 :(得分:2)

您不必在不同的PC上使用相同的名称来将C#程序连接到SQL服务器。有一件事我想指出,也许你知道也许你不是。如果你在每台机器上安装数据库,他们的程序将不会共享数据(再次,这可能听起来很愚蠢,但以防万一)。

对于错误本身,如果您在计算机PC2上安装了SQL Server,请转到“服务”并仔细检查SQL Server INSTANCE是否与您在连接字符串上设置的相同。您甚至不必拥有相同的数据库名称,它可能在每台机器上完全不同,重要的是要有正确的连接字符串(您应该将连接字符串作为一个配置,您可以轻松地从{ {1}}档案。

只需仔细检查PC2服务器是否按预期工作(检查服务和事件查看器是否有可能弹出的错误)您也可以尝试代替本地127.0.0.1

答案 1 :(得分:2)

您需要在sql server中激活Sql Server和Windows身份验证,并将连接字符串从集成安全性更改为用户/密码身份验证。

enter image description here

需要将数据源更改为IP或服务器名称