如何从同一台服务器访问另一个数据库?使用SELECT @@ SERVERNAME获取服务器名称,然后执行servername.dbo.mydatabasename.mytablename,但查询分析器显示无效的对象名称。有任何想法吗?我在做什么
insert into Myservername.Mydatabasename.Mytablename
(Email,Username1)
Values
('h','h')
在同一台服务器上使用MS SQL Server 2008
答案 0 :(得分:3)
假设您正在使用MS SQL Server,则完全限定的引用的格式为:
[servername].[databasename].[schema].[object]
在同一台服务器上,您不需要[servername]
参考。
在您的情况下,您撤消了databasename
和schema
。它应该是:
servername.mydatabasename.dbo.mytablename
您的INSERT应如下所示:
insert into Mydatabasename.Schema.Mytablename
(Email,Username1)
Values ('h','h')
(可能你的架构是dbo)
在跨链接服务器执行操作时,您将包含[servername]
组件,在这种情况下,[servername]
将是链接服务器的名称,这实际上可能与主机名实际上不同/远程服务器的实例名称。
答案 1 :(得分:2)
不是mydatabasename.DBO.mytablename
吗?如果您的数据库位于同一台服务器上,则通常不必使用servername
。
答案 2 :(得分:2)
应该是
insert into Myservername.Mydatabasename.MySchema.Mytablename
(Email,Username1)
Values
('h','h')
虽然您在同一台服务器上但不需要Myservername
。在使用三部分表示法的示例中,假设Mydatabasename
是模式;因此错误