【问题标题】:JDBC connect string for SQL Server clusterSQL Server 集群的 JDBC 连接字符串
【发布时间】:2009-07-21 15:41:36
【问题描述】:

我需要设置一个到 SQL Server 的 JDBC 连接字符串。 这个问题类似于C# ADO.Net connection question。这是特定于 JDBC 连接字符串的。

JDBC 字符串的常用格式是“jdbc:sqlserver://{host}:{port}”。 现在,对于 SQL 服务器集群,我有一个集群名称 vvv\iii ({virtual server}{instance name})。

使用 vvv\iii 字符串作为服务器名称时,通过“到 SQL Server 的新数据源”向导设置 ODBC 连接没有问题。但是,似乎 JDBC 连接字符串需要特定的主机和端口。

有没有办法让 JDBC 连接字符串到 SQL Server 集群?

【问题讨论】:

    标签: sql-server jdbc cluster-computing


    【解决方案1】:

    事实证明,您可以在 JDBC 字符串中使用“instanceName”属性,如“命名和多个 SQL Server 实例”部分中的 Microsoft Technet page 中所述。对我来说有效的是虚拟服务器 vvv 和数据库实例名称 iii 的以下字符串:

    "jdbc:sqlserver://vvv;instanceName=iii"

    【讨论】:

    • 我不喜欢接受自己的答案,但这是迄今为止最好的答案 ;-)
    【解决方案2】:

    在集群或独立环境中使用 SQL Server 命名实例时,每个 SQL Server 实例都会在启动时动态分配一个端口号。 SQL Server Browser 服务器处理对每个实例的请求,因为每次服务器重新启动都可能更改每个实例使用的端口号。在服务器重新启动时启动的第一个实例分配为 1433,但如果您有 2 个实例,则无法保证其中一个将始终获得 1433。有几个变量会影响实例启动所需的启动和恢复时间。这可以每次改变。

    这很可悲......当连接到一个命名实例时,jdbc 连接字符串应该如下所示: jdbc:sqlserver://server_name/db_name;instance=instance_name

    而不是这个 jdbc:sqlserver://server_name:1433/db_name;instance=instance_name

    请注意,默认数据库“/db_name”是可选的。如果排除连接将使用分配给 SQL Server 登录的默认数据库。

    【讨论】:

      【解决方案3】:

      集群资源有一个主机名和一个监听端口。使用 jdbc:sqlserver://{virtualserver}:1433(如果不监听默认端口,则使用适当的监听端口)。

      【讨论】:

        【解决方案4】:

        我会评论Mark Stewart 的评论,但缺乏声誉。 My source 没有提到 /db_name 我也无法让它工作。可能是confused instance names 的另一个案例?

        【讨论】:

          【解决方案5】:

          请确保您关闭端口定义,因为集群会为您确定这一点。

          所以我的数据源定义如下:

          jdbc:sqlserver://sqlcluster_hostname\instancename;DATABASENAME=databasename;sendStringParametersAsUnicode=false;SelectMethod=direct

          我在尝试设置 Railo 数据源以连接到 MSSQL 集群时遇到了这个问题。

          稍微偏离主题...如果您将端口字段留空,则标准 Railo 数据源 MSSQL 驱动程序选项将端口设置为“-1”,但是如果将其设置为“0”,则它会完全删除端口定义,然后是所有内容作品。但最好的方法是选择“Other - JDBC Driver”来完整定义JDBC连接字符串。

          【讨论】:

            猜你喜欢
            • 2010-10-19
            • 1970-01-01
            • 2021-01-20
            • 1970-01-01
            • 1970-01-01
            • 2013-04-13
            • 2017-10-17
            • 2017-05-11
            • 1970-01-01
            相关资源
            最近更新 更多