【问题标题】:Can't connect to sql server express through the network using c#无法使用c#通过网络连接到sql server express
【发布时间】:2018-05-18 00:32:15
【问题描述】:

我在网络服务器上运行 SQL Server 2016 Express。我可以访问服务器上的 SQL Server 并运行查询。

在服务器上:

  • tcp/ip 已启用,命名管道已启用且 tcp ip 地址 IPALL 正在侦听端口 1433,此 ip 的 tcp 动态端口为空
  • SQL Server 浏览器正在运行
  • 防火墙
    • 入站规则端口 1433 已打开并启用
    • 出站规则端口 1433 已打开并允许连接
  • 服务器名称为:CLW2016S-1,SQL Server 实例为SQLEXPRESS
  • 服务器的IP4地址是192.168.2.11

这是一个内部应用程序,我以“sa”身份连接。在我的项目中,我尝试了不同的连接字符串,当我尝试创建连接时它们都会产生相同的错误

static string connStr = "Data Source=192.168.2.11\\SQLEXPRESS;Initial Catalog=myzpp;User ID=sa;Password=A$$#@123; ";

static string connStr = "Data Source=\\\\CLW2016S-1\\SQLEXPRESS;Initial Catalog=myzpp;User ID=sa;Password=A$$#@123; ";

static string connStr = "Data Source=192.168.2.11\\SQLEXPRESS,1433;Initial Catalog=myzpp;User ID=sa;Password=A$$#@123; ";

static string connStr = "Data Source=192.168.2.11\\CLW2016S-1\\SQLEXPRESS;Initial Catalog=myzpp;User ID=sa;Password=A$$#@123; ";

在这个命令之后它们都会产生同样的错误

SqlConnection conn = new SqlConnection(connStr);

“conn.ServerVersion”引发了“System.InvalidOperationException”类型的异常

这可能是服务器上缺少一些网络访问设置,但我已经找了 2 天了。

感谢您的帮助。

【问题讨论】:

  • 如果您运行的是 SQL Server 的命名实例而不是默认实例,则还需要在服务器和客户端上打开端口 1434。
  • 我建议你试试这个页面上显示的PINGTELNET 测试:blogs.msdn.microsoft.com/sql_protocols/2008/04/30/…
  • @DeanOC sqlexpress 一直是一个命名实例
  • 您是否启用远程连接功能(在 SQL Server Express 中默认为 OFF)? Check out this blog post 怎么做
  • ServerVersion 应该抛出的唯一InvalidOperationException 是连接尚未打开。伴随该异常的消息是什么?

标签: sql-server connection-string


【解决方案1】:

感谢所有回复。

这个问题是由 Windows Update 18.03 触发的,当它与我们的 Symantec End Point 保护结合使用时,会导致一些 PC 成为“不受信任”的成员。

我们的 IT 人员正在与赛门铁克合作解决此问题。他能够在他们的帮助下将 windows 10 恢复到折叠状态(看起来 windows 7 没有受到影响)

Damien 你在技术上是正确的,我发布的代码是在打开连接之前的几行代码,但我仍然无法检索数据。

我不确定如何为您的答案投票。如果有人可以帮助我,我将不胜感激。

保罗

【讨论】:

    猜你喜欢
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2012-04-25
    相关资源
    最近更新 更多