我正在尝试通过Workbench / J连接到SQL Server 2005。我为jdbc字符串正确输入了所有内容,我可以连接到所需的服务器。但是,我必须为具有数据库名称的表键入完全限定名称。我不想那样做。我将我的instanceName设置为数据库,但它对我不起作用。
有没有办法连接数据库而不仅仅是服务器?
jdbc:sqlserver://serverName[\instanceName][:portNumber]
答案 0 :(得分:6)
如果要连接到实例,则需要做两件事:
关于第二项,documentation说:
为获得最佳连接性能,应在连接到命名实例时设置
portNumber
。这将避免往返服务器以确定端口号。如果同时使用portNumber
和instanceName
,则portNumber
优先,instanceName
将被忽略。
实例名称不与数据库名称相同。您可以使用连接属性databaseName
指定数据库名称,例如:
jdbc:sqlserver://localhost;databaseName=AdventureWorks
答案 1 :(得分:3)
我认为您应该可以连接到这样的特定数据库:
jdbc:sqlserver://serverName[\instanceName][:portNumber];databaseName=MyDatabase
答案 2 :(得分:3)
Microsoft SQL Server支持在同一台计算机上进行多次安装。每次安装(“虚拟”SQL Server,如果您愿意)都由其“实例名称”标识。因此,我们可以在同一台计算机上有两个单独的“SQL Server”,例如,一个名为\PRODUCTION
的实例用于生产数据库,另一个实例名为\TEST
用于测试环境。每个实例都独立运作。
SQL Server Express Edition的默认安装会创建名为\SQLEXPRESS
的SQL Server实例。其他版本的SQL Server通常会创建一个“默认实例”(有时标识为\
)。
每个SQL Server实例都可以包含多个数据库。您可以为此设置连接的默认数据库:
jdbc:sqlserver://myservername;database=myDb
或
jdbc:sqlserver://myservername;instanceName=instance1;database=myDb