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


139

我在SQL Server Management Studio中使用以下连接字符串。连接失败:

mycomputer.test.xxx.com:1234\myInstance1

但是以下一项是可以的:

mycomputer.test.xxx.com\myInstance1

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


Answers:


260

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

mycomputer.test.xxx.com,1234

指定端口时,无需指定实例名称。

http://www.connectionstrings.com/上有更多示例。它救了我几次。


6
每个实例必须位于单独的端口上,因此在SQL Server中为port = instance。但是直到现在我才知道这个“端口”,谢谢。
Daniel Williams

1
@Daniel:是的,您需要指定端口或实例。
Michael Petrotta 2011年

8
注意:指定端口时,实例名称将被忽略。因此,“ mycomputer.test.xxx.com \ AnyOldRubbish,1234”仍然有效。
gbn

69
我只是浪费了整整一天的时间试图解决这个问题。微软的人应该为此而生。他们不仅承担起为端口地址定界的全新约定(它们不能像世界其他地方那样仅使用冒号),而且不愿意在SQL中对其进行测试Server Management Studio,这样您就可以了解发生了什么。
PrgTrdr

1
如果默认(MSSQLSERVER)实例未在1433上运行,这如何工作?
马克·里奇曼

12

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

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

请注意冒号而不是逗号。


1
我已经从C#转到Java,这个答案救了我。再次。
smwikipedia

1
太棒了,很高兴它有所帮助。Java中关于JDBC连接字符串的文档并不完全直观。不知道为什么也不同,这很烦人。
Shane

1

具有指定端口的SQL的正确SQL连接字符串是IP地址和端口号之间的逗号,如以下模式:xxx.xxx.xxx.xxx,yyyy


-2

在服务器名称本身中,您可以像这样添加端口号

Server="servername:XXXXX"

用您的端口号替换XXXXX。

您的连接字符串如下所示

<connectionStrings>
    <add name="ConnectionStringSQL" 
         connectionString="server=servername:XXXXX;database=databasename;uid=XXX;pwd=XXXXXXX"
         providerName="System.Data.SqlClient" />
</connectionStrings>

4
C#在服务器名和端口号之间使用逗号,而不是冒号。
Dymas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.