在SQL Server链接连接中添加参数

时间:2016-11-28 07:45:47

标签: sql-server

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 ;.该表不存在   或者当前用户对该表没有权限。

2 个答案:

答案 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声明中。