请教“链接服务器返回了无效的数据”问题
一台远程SQL server 2005服务器,加为链接服务器后,运行一些SQL语句会报错,麻烦大家帮我看一下是什么原因?
链接服务器语句:
exec sp_addlinkedserver 'test129','','SQLOLEDB','192.168.1.129'
exec sp_addlinkedsrvlogin 'test129','false',null,'testuser','testpasswd'
go
运行的语句:
select DISTINCT cust_branch,cust_no,cust_address
from test129.basedb.dbo.cust_reg
where left(cust_branch,4) = '1025' and cust_no is null and cust_branch <> '102500'
当这个语句运行时,报错:
消息 7339,级别 16,状态 1,第 1 行
链接服务器 'test129' 的 OLE DB 访问接口'SQLNCLI' 返回了对列 '[test129].[basedb].[dbo].[cust_reg].cust_address' 无效的数据。
一样的语句,如果在129服务器本地运行,不报错,如果在“对象资源管理器”中“新建查询”后运行,也不报错,就是使用链接服务器时要报这个错,报错的字段一般都是有中文的字段,有时会发现中文字段内容中有半个字符,但有的看起来很正常,也报错,更奇怪的是有些语句,如select a,b,c from t1正常,而update t2 set k = f.a from (select a,b,c from t1) as f where f.b = t2.f就要报错~~
本地服务器和远程的服务器都是win2003+sql server 2005 sp2 9.0.3042。
网上查了好了资料都找不到怎么解决这种问题,还请大家帮忙了,先谢谢了。