2016-01-05 39 views
-2

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

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

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

screenshot

但是,当我改变PC2的相同PC1名的应用程序可以连接它运作良好。这意味着如果我想在不同的PC上安装我的应用程序那么我必须将该PC命名为与我在C中创建我的C#的原始PC相同的名称(PC1)。

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

+5

你的名字真的不应该问同样的问题两次。 http://stackoverflow.com/questions/34597680/why-cant-i-connect-to-the-sql-server-database-when-i-create-setup-file-in-visua –

回答

2

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

对于错误本身,如果您在计算机PC2上安装了SQL Server,请转到“服务”并仔细检查SQL Server INSTANCE是否与您在连接字符串上设置的SQL Server实例相同。你甚至不必拥有相同的数据库名称,它可以在每台机器上完全不同,重要的是要有正确的连接字符串(你应该有连接字符串作为配置,你可以很容易地从.conf文件。

在服务器工作正常(检查可能弹出任何错误,服务和事件查看器)PC2只要仔细检查,你也可以尝试,而不是本地127.0.0.1

+0

@ ProgrammerV5。是的,pc2上的服务器运行良好。我必须将PC1的名称设置为PC2,否则该应用程序将无法工作。我指定数据源=本地主机,所以它应该工作,但我不知道为什么。任何想法?谢谢 – Serena

2

您需要激活的Sql服务器和Windows身份验证,并将您的连接字符串从集成安全性更改为用户/密码身份验证。

enter image description here

数据源需要改变要么IP或服务器

相关问题