【发布时间】: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。
-
我建议你试试这个页面上显示的
PING和TELNET测试: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