在jdbc连接字符串中设置实例名称没有影响

Tro*_*BOT 1 java sql-server jdbc workbench

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

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

jdbc:sqlserver://serverName[\instanceName][:portNumber]
Run Code Online (Sandbox Code Playgroud)

Mar*_*eel 6

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

  1. 确保SQL Server Browser服务正在SQL Server主机上运行(默认情况下禁用IIRC)
  2. 如果要按实例名称连接,请不要在连接字符串中包含portnumber.当连接字符串包含portnumber(每个实例都有自己的端口号)时,JDBC驱动程序将忽略实例名称

关于第二项,文件说:

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

实例名称是一样的东西你的数据库名称.您可以使用connection属性指定数据库名称databaseName,例如:

jdbc:sqlserver://localhost;databaseName=AdventureWorks
Run Code Online (Sandbox Code Playgroud)