select @dbName="DBNAME"
select Distributorid from [180.552.528.854,21414].[@dbName].DBO.DistributorMaster where Distributorid =XXXXXX
错误:OLE DB提供程序" SQLNCLI10"为了链接 server [180.552.528.854,21414]不包含该表 "" @ DBNAME"" DBO"" DistributorMaster"&#34 ;.该表不存在 或者当前用户对该表没有权限。
答案 0 :(得分:4)
试试这个。 动态变量值查询。
declare
@dbname nvarchar(max) ='dbName',
@query nvarchar(max) ='select Distributorid from [180.552.528.854,21414].[@dbName].DBO.DistributorMaster
where Distributorid =XXXXXX'
SET @Query=REPLACE(@Query,'@dbname',@dbname)
--print(@Query)
execute SP_executesql @Query
答案 1 :(得分:-1)
查询链接服务器时,需要使用以下模式指定完全限定的表名:
SERVER.DATABASE.SCHEMA.OBJECT
除此之外,请在Linked Servers
下的SQL Server Management Studio的帮助下检查该表是否在链接服务器上列出。
修改强> 如果您已完全实施本网站上提及的所有步骤,请检查this网站。
还应该忽略的一个共同点是:
将", @datasrc=@ServerName"
添加到sp_addlinkedserver
声明中。