如何在SQL Server连接字符串中指定端口号?

170

我在SQL Server Management Studio中使用以下连接字符串,但无法连接:

mycomputer.test.xxx.com:1234\myInstance1

但以下连接字符串可以正常工作:

mycomputer.test.xxx.com\myInstance1

如何在连接字符串中指定端口号?


3
与 https://dev59.com/HXVD5IYBdhLWcg3wGXlI 相关。 - binki
3个回答

320

使用逗号来指定SQL Server的端口号:

mycomputer.test.xxx.com,1234

当指定端口时,不需要指定实例名称。

更多示例请参见http://www.connectionstrings.com/。这个网站帮助了我好几次。


10
每个实例必须在不同的端口上运行,因此在 SQL Server 中,端口=实例。虽然我直到现在都不知道这个“端口”,但还是谢谢您。 - Daniel Williams
2
@Daniel:是的,你需要指定端口或实例。 - Michael Petrotta
11
注意:当指定端口时,实例名称将被忽略。因此,“mycomputer.test.xxx.com \ AnyOldRubbish,1234”仍然可以使用。 - gbn
1
如果默认的(MSSQLSERVER)实例没有在1433端口运行,那么这个怎么工作呢? - Mark Richman
拥有connectionString="Server=address\SQlExpress,1433"是行不通的。 - Istorn
显示剩余5条评论

12

对于JDBC,正确的格式略有不同,如下所示:

jdbc:microsoft:sqlserver://mycomputer.test.xxx.com:49843

请注意冒号而不是逗号。


2
我已经从C#转向Java,这个答案真是救了我。又一次。 - smwikipedia
1
太棒了,很高兴能帮上忙。Java中的JDBC连接字符串文档并不是很直观。我也不确定为什么会有所不同,这真的很烦人。 - Shanerk

4
正确的SQL连接字符串需要在IP地址和端口号之间使用逗号,例如以下格式:xxx.xxx.xxx.xxx,yyyy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接