连接到另一个系统中的SQL数据库

时间:2015-01-16 14:56:04

标签: c# sql-server windows-8.1 connection-string

我写了一个 C#Windows窗体应用程序,它应该与 SQL Server数据库进行通信。我已经设置了连接字符串,程序在我的系统中工作正常,而其他程序在连接到其他系统中的数据库时失败。

由于此应用程序将安装在客户的PC中。我该如何解决这个问题?

我尝试的最后一种方法是将ConnectionString添加到项目的 config 文件中:

    <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
  </configSections>
<connectionStrings>

  <add name="con"
       connectionString="Data Source=2345pc037\SQLEXPRESS;Initial Catalog=prodDB;Integrated Security=true"
       providerName="System.Data.SqlClient"/>

</connectionStrings>

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

这是C#代码:

SqlConnection cs = new SqlConnection();
           strConn  = string.Format("{0}",ConfigurationManager.ConnectionStrings["con"].ConnectionString);
           cs.ConnectionString = strConn;

错误消息指出实例名称不正确或SQL Server不允许远程连接。另外:&#34;错误:28 - 服务器不支持所请求的协议。&#34;

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以查看以下几项内容。

1)检查服务器是否允许远程连接, 在SSMS中右键单击服务器,单击属性,从左侧单击“连接”,确保选中“允许删除与此服务器的连接”。

2)SQL Browser服务是否已启动?打开Sql Server配置管理器并在服务下检查以确认。

3)如果您在服务器上配置了防火墙,则需要将其配置为允许连接到SQL Server(或暂时将其关闭以进行故障排除),否则您将收到此错误。

4)客户端PC可以ping SQL服务器吗?在命令窗口中输入ping servername(即ping 2345pc037)。

5)确认客户端可以连接到服务器。您可以通过在资源管理器窗口中输入\ severname(即\ 2345pc037)来完成此操作。

6)在SQL Server配置管理器中,在SQL Server网络配置下,确保已启用TCP / IP协议并配置为侦听正确的IP地址

7)您的连接字符串表示您正在使用集成安全性。确保客户端PC上的用户可以访问服务器。 - 这不是造成问题的原因,但可能一旦你可以连接就可以了。