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

Posted

技术标签:

【中文标题】如何在 SQL Server 连接字符串中指定端口号?【英文标题】:How to specify a port number in SQL Server connection string? 【发布时间】:2011-07-14 18:18:05 【问题描述】:

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

mycomputer.test.xxx.com:1234\myInstance1

但是下面的就可以了:

mycomputer.test.xxx.com\myInstance1

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

【问题讨论】:

与***.com/q/89576相关 【参考方案1】:

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

mycomputer.test.xxx.com,1234

指定端口时不必指定实例名称。

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

【讨论】:

每个实例必须在一个单独的端口上,所以 Sql server 中的 port=instance。不过,直到现在我才知道这个 ",port" - 谢谢。 @Daniel:是的,您需要指定端口或实例。 注意:当指定端口时,实例名称被忽略。所以“mycomputer.test.xxx.com\AnyOldRubbish,1234”仍然有效。 我只是浪费了将近一整天的时间试图弄清楚这一点。微软应该为此被枪杀。他们不仅自己创建了一个用于分隔端口地址的全新约定(他们不能像世界其他地方一样只使用冒号),而且他们也懒得在 SQL 中对其进行测试Server Management Studio,因此您会得到一些关于正在发生的事情的提示。 如果默认 (MSSQLSERVER) 实例未在 1433 上运行,这将如何工作?【参考方案2】:

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

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

注意冒号而不是逗号。

【讨论】:

我已经从 C# 转向 Java,这个答案拯救了我。再次。 太棒了,很高兴它有帮助。 JDBC 连接字符串的 Java 文档并不完全直观。不知道为什么它也不同,这很烦人。【参考方案3】:

指定端口的 SQL 的正确 SQL 连接字符串是在 ip 地址和端口号之间使用逗号,如下模式:xxx.xxx.xxx.xxx,yyyy

【讨论】:

以上是关于如何在 SQL Server 连接字符串中指定端口号?的主要内容,如果未能解决你的问题,请参考以下文章

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

如何在表中指定基于 SQL Server 中另一列的计算列?

如何在 SQL Management Studio 中指定不同的端口号?

如何在 API 项目中指定实体框架连接字符串

如何在 NpgSql 连接字符串中指定 ApplicationName

如何在不使用 JNDI 的情况下在 ConnectionFactory 中指定主机、端口和通道