Java 具有多个实例的SQL Server连接字符串问题

Java 具有多个实例的SQL Server连接字符串问题,java,sql-server-2008,Java,Sql Server 2008,我使用相同的连接字符串来获得直接连接。但是当从java代码中使用时,它并没有连接起来。有什么问题吗 jdbc:sqlserver://DEVSQL\mssql2008:1433 原因:com.microsoft.sqlserver.jdbc.SQLServerException:与名为instance\mssql2008的主机DEVSQL的连接失败 有两个SQL Server实例(2005和2008)在同一端口1433上运行。那么连接字符串是什么呢 \mssql2008不是一个实例 DEVS

我使用相同的连接字符串来获得直接连接。但是当从java代码中使用时,它并没有连接起来。有什么问题吗

jdbc:sqlserver://DEVSQL\mssql2008:1433
原因:com.microsoft.sqlserver.jdbc.SQLServerException:与名为instance\mssql2008的主机DEVSQL的连接失败

有两个SQL Server实例(2005和2008)在同一端口1433上运行。那么连接字符串是什么呢

  • \mssql2008
    不是一个实例
  • DEVSQL
    连接到2005实例,而
    DEVSQL\mssql2008
    连接到2008实例

    • 你必须避开反斜杠

      jdbc:sqlserver://DEVSQL\\mssql2008:1433
      

      您缺少连接字符串的一部分(
      microsoft:
      sqlserver:
      之前)。这应该可以:

      jdbc:microsoft:sqlserver://DEVSQL\\mssql2008:1433
      

      根据您示例中提供的信息,我无法区分:

      • 数据库服务器(可能是DEVSQL)
      • SQL Server实例名称(可能是mssql2008)
      • 数据库名称(对于这个,我将假定为dbName)
      有了这些信息,您可以基于

      此外,请检查您的MSSQL服务器是否已启用TCP/IP连接。请检查此处以了解更多信息:

      • (图片)

      您是使用jstd还是microsoft的jar进行连接?我使用的是microsoft的jar,我在应用程序中使用的是spring更改
      Sql Server 2005的端口号
      jdbc:sqlserver://DEVSQL:1433;databaseName=dbName;instance=mssql2008.