sql 查询远程数据库的问题

exec sp_addlinkedserver 'jq','','SQLOLEDB','jqserver' 

--登陆linkServer 
exec sp_addlinkedsrvlogin 'jq','false',null,'sa','' 
exec sp_linkedservers_rowset 'jq'
--查询 
declare @sql varchar(5000)
Set @sql='select ccode ,(select ccode_name from jq.UFDATA_501_2011.dbo.code where ccode=(select ccode from jq.UFDATA_501_2011.dbo.gl_accvouch.ccode) ) as ccode_name,md from jq.UFDATA_501_2011.dbo.gl_accvouch '
exec(@sql)

错误信息
对象 名称 'jq.UFDATA_501_2011.dbo.gl_accvouch.' 包含的前缀数目超过了最大值。最大值为 3。
怎样解决这个问题,可以这样表示表字段jq.UFDATA_501_2011.dbo.gl_accvouch.ccode

作者: sichuanzog   发布时间: 2011-06-14

创建链接服务器,为什么动态访问?。。。

作者: ssp2009   发布时间: 2011-06-14

jq.UFDATA_501_2011.dbo.gl_accvouch.ccode
用别名减少层次关系。

作者: maco_wang   发布时间: 2011-06-14

SQL code

declare @sql varchar(5000)
Set @sql='select ccode ,(select ccode_name from jq.UFDATA_501_2011.dbo.code t2 
         where t1.ccode=t2.ccode) as ccode_name,md from jq.UFDATA_501_2011.dbo.gl_accvouch t1'
exec(@sql)

作者: X_0   发布时间: 2011-06-14

我顶。。。。。

作者: hzzz_lgh3399   发布时间: 2011-06-14

用别名来代替你的jq.UFDATA_501_2011.dbo.code

作者: fredrickhu   发布时间: 2011-06-14