Java 在jdbc连接字符串中设置实例名称无效

Java 在jdbc连接字符串中设置实例名称无效,java,sql-server,jdbc,workbench,Java,Sql Server,Jdbc,Workbench,我正在尝试通过Workbench/J连接到SQLServer2005。我为jdbc字符串正确输入了所有内容,可以连接到所需的服务器。但是,我必须为具有数据库名称的表键入完全限定名。我不想那样做。我将instanceName设置为数据库,但它对我不起作用 有没有办法连接到数据库而不仅仅是服务器 jdbc:sqlserver://serverName[\instanceName][:portNumber] 我认为您应该能够连接到以下特定数据库: jdbc:sqlserver://serverNam

我正在尝试通过Workbench/J连接到SQLServer2005。我为jdbc字符串正确输入了所有内容,可以连接到所需的服务器。但是,我必须为具有数据库名称的表键入完全限定名。我不想那样做。我将instanceName设置为数据库,但它对我不起作用

有没有办法连接到数据库而不仅仅是服务器

jdbc:sqlserver://serverName[\instanceName][:portNumber]

我认为您应该能够连接到以下特定数据库:

jdbc:sqlserver://serverName[\instanceName][:portNumber];databaseName=MyDatabase

我认为您应该能够连接到以下特定数据库:

jdbc:sqlserver://serverName[\instanceName][:portNumber];databaseName=MyDatabase

Microsoft SQL Server支持在同一台计算机上进行多次安装。每个安装(“虚拟”SQL Server,如果您愿意)都由其“实例名”标识。因此,我们可以在同一台计算机上有两个独立的“SQL Server”,例如,一个实例名为
\PRODUCTION
,用于生产数据库,另一个实例名为
\TEST
,用于测试环境。每个实例都独立运行

SQL Server Express Edition的默认安装将创建名为
\SQLEXPRESS
的SQL Server实例。SQL Server的其他版本通常创建一个“默认实例”(有时标识为
\

SQL Server的每个实例都可以包含多个数据库。您可以按如下方式设置连接的默认数据库:

jdbc:sqlserver://serverName[\instanceName][:portNumber];databaseName=MyDatabase
jdbc:sqlserver://myservername;数据库=myDb

jdbc:sqlserver://myservername;instanceName=instance1;数据库=myDb

Microsoft SQL Server支持在同一台计算机上进行多次安装。每个安装(“虚拟”SQL Server,如果您愿意)都由其“实例名”标识。因此,我们可以在同一台计算机上有两个独立的“SQL Server”,例如,一个实例名为
\PRODUCTION
,用于生产数据库,另一个实例名为
\TEST
,用于测试环境。每个实例都独立运行

SQL Server Express Edition的默认安装将创建名为
\SQLEXPRESS
的SQL Server实例。SQL Server的其他版本通常创建一个“默认实例”(有时标识为
\

SQL Server的每个实例都可以包含多个数据库。您可以按如下方式设置连接的默认数据库:

jdbc:sqlserver://serverName[\instanceName][:portNumber];databaseName=MyDatabase
jdbc:sqlserver://myservername;数据库=myDb

jdbc:sqlserver://myservername;instanceName=instance1;数据库=myDb

如果要连接到实例,需要做两件事:

  • 确保SQL Server浏览器服务正在SQL Server主机上运行(默认情况下已禁用IIRC)
  • 如果要按实例名称连接,请不要在连接字符串中包含端口号。当连接字符串包含端口号(每个实例都有自己的端口号)时,JDBC驱动程序将忽略实例名称
  • 关于第二项,委员会说:

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

    实例名称与数据库名称不同。使用连接属性
    databaseName
    指定数据库名称,例如:

    jdbc:sqlserver://localhost;databaseName=AdventureWorks
    

    如果要连接到实例,需要执行两项操作:

  • 确保SQL Server浏览器服务正在SQL Server主机上运行(默认情况下已禁用IIRC)
  • 如果要按实例名称连接,请不要在连接字符串中包含端口号。当连接字符串包含端口号(每个实例都有自己的端口号)时,JDBC驱动程序将忽略实例名称
  • 关于第二项,委员会说:

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

    实例名称与数据库名称不同。使用连接属性
    databaseName
    指定数据库名称,例如:

    jdbc:sqlserver://localhost;databaseName=AdventureWorks