我写了一个 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;
提前感谢您的帮助!
答案 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上的用户可以访问服务器。 - 这不是造成问题的原因,但可能一旦你可以连接就可以了。