如何使用jdbc设置实例名称

时间:2016-11-01 08:49:03

标签: java sql-server jdbc

我正在尝试使用jdbc驱动程序连接MS SQL服务器。我收到了以下错误;

Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall

我认为我的连接网址存在问题。这是我的连接网址;

jdbc:sqlserver://50.50.50.50\MYINSTANCE:1433;
编辑:我可以毫不费力地将这个sql server与某个客户端应用程序(HeidiSQL)连接起来。

Network type: Microsoft SQL server (tcp/ip)
Hostname:50.50.50.50\MYINSTANCE
Port: 1433
username:...
password:...

下面的行抛出异常,我可以毫无问题地连接其他一些sql server。(它们没有任何实例名称)

DriverManager.getConnection(connectionUrl, username, password);

2 个答案:

答案 0 :(得分:1)

SQL Server实例MYINSTANCE可能没有侦听端口1433.通常,连接URL将包含实例名称端口号,而不是两者。当两者都提供时,必须优先考虑。

如果为HeidiSQL指定Port: 1433允许您连接,那么HeidiSQL似乎优先于实例名称。 SQL Server JDBC驱动程序执行相反的操作:当同时显示实例名称和端口号时,它将优先于端口号。

因此,您应该可以使用以下网址进行连接:

jdbc:sqlserver://50.50.50.50;instanceName=MYINSTANCE

答案 1 :(得分:0)

检查是否没有规则阻止TCP连接 在cmd上做

telnet 127.0.0.1 1433

并检查您的SQL服务器配置TCP端口是否正确。