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

Connecting to SQL database in another system

我编写了一个 C# Windows 表单应用程序,它应该与 SQL 服务器数据库 通信。我已经设置了连接字符串,程序在我的系统中运行良好,而其他程序在连接到其他系统中的数据库时失败。

由于此应用程序将安装在客户的 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服务器不允许远程连接。另外:"error: 28 - The server does not support the requested protocol."

在此先感谢您的帮助!

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

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

2) SQL 浏览器服务是否启动?打开 Sql 服务器配置管理器并检查服务以确认。

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

4)客户端PC能否ping通SQL服务器。在命令 window.

中输入 ping 服务器名(即 ping 2345pc037)

5) 确认客户端可以连接到服务器。您可以通过在资源管理器 window.

中输入 \severname(即 \2345pc037)来完成此操作

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

7) 您的连接字符串表明您正在使用集成安全性。确保客户端 PC 上的用户可以访问服务器。 - 这不是导致您出现问题的原因,但一旦您可以连接,它可能会出现。