Sql 从同一服务器访问另一个数据库?
如何从同一服务器访问另一个数据库?使用SELECT@@@SERVERNAME获取服务器名,然后使用SERVERNAME.dbo.mydatabasename.mytablename获取,但查询分析器说对象名无效。有什么想法吗?我在做什么Sql 从同一服务器访问另一个数据库?,sql,sql-server,Sql,Sql Server,如何从同一服务器访问另一个数据库?使用SELECT@@@SERVERNAME获取服务器名,然后使用SERVERNAME.dbo.mydatabasename.mytablename获取,但查询分析器说对象名无效。有什么想法吗?我在做什么 insert into Myservername.Mydatabasename.Mytablename (Email,Username1) Values ('h','h') 使用MS SQL Server 2008,在同一台服务器上,它不是更像是mydatab
insert into Myservername.Mydatabasename.Mytablename
(Email,Username1)
Values
('h','h')
使用MS SQL Server 2008,在同一台服务器上,它不是更像是mydatabasename.DBO.mytablename吗?如果您的数据库位于同一台服务器上,则通常不必使用
servername
假设您使用的是MS SQL server,则完全限定引用的格式如下:
[servername].[databasename].[schema].[object]
在同一台服务器上,您不需要[servername]
参考
在您的例子中,您颠倒了数据库名
和模式
。应该是:
servername.mydatabasename.dbo.mytablename
您的插入应该如下所示:
insert into Mydatabasename.Schema.Mytablename
(Email,Username1)
Values ('h','h')
(这里的模式可能是dbo)
在链接服务器上执行操作时,您将包括[servername]
组件,在这种情况下[servername]
将是链接服务器的名称,顺便说一句,它实际上可能与远程服务器的主机名/实例名不同。应为
insert into Myservername.Mydatabasename.MySchema.Mytablename
(Email,Username1)
Values
('h','h')
虽然您在同一台服务器上,但不需要
Myservername
。在您使用三部分表示法的示例中,假设模式是Mydatabasename
;因此出现了错误您可以发布在查询分析器中得到的确切消息吗?您使用的是什么DBMS?SQL Server?谢谢大家的回复!squillman是正确的,dbo在fqn中的位置不正确