1

我已经在本地安装了 SQL sever 2008 它有很多实例。如何在 jdbc 字符串中指定实例名称。

当我使用 MS SQL Studio 访问数据库时,服务器名称看起来像 mymachinename\mssqlserver1

4

3 回答 3

4

以下是您在谷歌搜索“SQLServer JDBC URL”时发现的内容:http: //msdn.microsoft.com/en-us/library/ms378428%28v=sql.100%29.aspx

连接 URL 的一般形式是

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

在哪里:

  • jdbc:sqlserver://(必需)被称为子协议并且是常量。

  • serverName (可选)是要连接的服务器的地址。这可以是 DNS 或 IP 地址,也可以是本地计算机的 localhost 或 127.0.0.1。如果未在连接 URL 中指定,则必须在属性集合中指定服务器名称。

  • instanceName(可选)是要连接到 serverName 上的实例。如果未指定,则连接到默认实例。

  • portNumber(可选)是要连接到 serverName 上的端口。默认值为 1433。如果使用默认值,则不必在 URL 中指定端口,也不必指定其前面的 ':'。

笔记:

为了获得最佳连接性能,您应该在连接到命名实例时设置 portNumber。这将避免往返服务器以确定端口号。如果同时使用 portNumber 和 instanceName,则 portNumber 将优先,instanceName 将被忽略。

于 2012-05-01T07:06:05.087 回答
1

我必须首先找到实例的端口。可以通过触发查询来做到这一点

SELECT local_tcp_port
FROM   sys.dm_exec_connections
WHERE  session_id = @@SPID

或通过登录数据库服务器 MSSQL 实例端口

然后使用连接字符串 jdbc:sqlserver://db.mssql.company.com\InstanceName:56326;databaseName=DatabaseName;

于 2016-05-27T11:08:28.117 回答
0

这是一个完整的 URL 示例,具有不同的端口和实例名称

    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

return DriverManager.getConnection("jdbc:sqlserver://SERVERNAME:PORT;instanceName=INSTANCE;databaseName=DATABASE;", "sa", "PASSWORD);
于 2017-08-17T22:08:24.863 回答