【问题标题】:Cannot connect via System.Data.SqlClient无法通过 System.Data.SqlClient 连接
【发布时间】:2013-10-14 20:03:44
【问题描述】:

我遇到了一个非常奇怪的问题,到目前为止我在网上找不到任何相关的解决方案。

一个客户端有一个新的 Windows 2008 R2(64 位)服务器,我们要求在其中安装 SQL Server 2008 R2。

我们在通过 System.Data.SqlClient 连接到 SQL2008 的服务器上安装了我们的软件,没有问题。 但是,当安装在远程计算机上时,该软件无法连接到 SQL2008。我们得到一个超时异常。 请注意,我们开发了一个通过 OLEDB 连接的测试项目,它似乎可以在远程机器上运行。意思是,当使用 OLEDB 连接时,我们可以从远程机器连接到数据库,而当使用 System.Data.SqlClient 时,我们无法连接到数据库。

有什么想法吗?

【问题讨论】:

  • 你能发布你的连接字符串吗?掩盖重要信息后偏离轨道。
  • 标题具有误导性。正确的标题应该是“无法通过 System.Data.SqlClient 连接”。如果管理员看到这个,请编辑标题。提前谢谢你
  • 你有完整的确切消息/堆栈跟踪吗?

标签: c# .net sql oledb


【解决方案1】:

在我们的公司网络中遇到了同样的问题(OLEDb 工作 - SQLClient 没有)。我通过将端口 1433(TCP) 添加到防火墙规则来解决它。

如果是错误 40 - NamedPipes Issue 检查 SQL 配置管理器(本机配置 -> 客户端协议)是否启用命名管道。

还可以查看this - 不要忘记阅读 cmets(那些 MSSQL2005 连接问题也经常适用于 SQL2008 实例...)

问候

Therak

【讨论】:

  • Therak 为 SQL 服务器打开端口的提示起到了神奇的作用。我在网上搜索并找到了一个打开 SQL 服务器所有端口的脚本,问题就解决了。谢谢你们的回复。仅供参考,脚本如下:
  • 好吧,看来我无法发布整个脚本。如果有人想要,请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-17
  • 2013-03-27
  • 2018-02-05
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
  • 2013-03-05
相关资源
最近更新 更多