WCF服务未连接到SQL数据库

时间:2010-10-22 17:00:25

标签: .net asp.net sql wcf

问题

从WCF服务调用SQL数据库时,我们收到以下错误:

  

“与网络相关或特定于实例的   建立一个错误时发生错误   连接到SQL Server。服务器   没找到或无法访问。   验证实例名称是否为   正确和SQL Server是   配置为允许远程   连接。 (提供者:命名管道   提供者,错误:40 - 无法打开   连接到SQL Server)“

我们的设置

我们在防火墙后面的内部服务器上托管了WCF服务。该服务调用SQL。当从防火墙内部调用WCF服务时,该服务可以很好地与SQL服务器通信。我们将站点移到防火墙之外,网络人员给了我一个端口,用于在站点和WCF服务之间进行通信。从防火墙外部的站点调用服务时,服务在连接到数据库时会出错。我们在连接字符串中使用SQL身份验证来连接数据库。

连接字符串示例:

Data Source=SQLServer;Initial Catalog=Database;
Persist Security Info=True;
User ID=username;Password=userpass

alt text

2 个答案:

答案 0 :(得分:1)

远程访问服务器并运行以下命令

telnet <YOUR SQL SERVER> 1433

我假设您的SQL Server在端口1433上,这是默认设置,但是如果他们愿意,您的DBA可以指定另一个端口,因此请注意......如果您获得闪烁的光标,则端口为打开,你可能需要检查你的连接字符串。如果您收到错误,防火墙可能会阻止您。

答案 1 :(得分:0)

我不确切知道修正了什么。我们最终将服务放入生产环境并在代码中引用该服务。我们解决了HTTP绑定和指定字段的问题。我们把它放在那里,它连接到SQL。我不知道为什么修复它,但它正在发挥作用。