[疑难问题]无法从链接服务器 "TEST" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 获取行的数据。

Goxu 2013-03-22 10:59:42
环境:sqlserver 2008 64位
"TEST"是sqlserver到oracle的链接服务器
驱动采用 "OraOLEDB.Oracle" 的方式
其中B为通过链接服务器建立的视图,脚本为:select * from openquery(TEST,'select * from oracleB')
执行语句select a.* from A a,B b where a.id=b.id 时报错误:无法从链接服务器 "TEST" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 获取行的数据。
而且奇怪的是: 直接在sqlserver中执行select * from B 是有数据的

请教下各位,这个有可能是什么原因?网上这个错误搜到的信息很少,所以就发帖问了!

...全文
959 点赞 收藏 7
写回复
7 条回复
xzl495729772 2013年06月25日
你如果连接的是视图,没有其他的原因话,你确认一下,你在建立视图之后有没有重新改过表的结构,通常是把数据长途加长了,一般这个原因, 重新把定义一下你的视图就可以了。
回复 点赞
Goxu 2013年03月27日
再等几天结贴,看还有没有知道的人再来指导下!!!!
回复 点赞
Goxu 2013年03月27日
暂时通过强制hash join的方式解决 参考帖子: http://qing.weibo.com/tj/539b93dd0101cq3t.html http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/d76fd906-c335-4642-bc48-2dd10402d5d9
回复 点赞
Goxu 2013年03月23日
引用 楼主 Goxu 的回复:
环境:sqlserver 2008 64位 "TEST"是sqlserver到oracle的链接服务器 驱动采用 "OraOLEDB.Oracle" 的方式 其中B为通过链接服务器建立的视图,脚本为:select * from openquery(TEST,'select * from oracleB') 执行语句select a.* from A a,B b ……
链接是好的,我直接查B【select * from openquery(TEST,'select * from oracleB')】的数据是有的
回复 点赞
KevinLiu 2013年03月23日
测试连接是OK的吗?
回复 点赞
Goxu 2013年03月23日
引用 2 楼 Goxu 的回复:
引用 楼主 Goxu 的回复:环境:sqlserver 2008 64位 "TEST"是sqlserver到oracle的链接服务器 驱动采用 "OraOLEDB.Oracle" 的方式 其中B为通过链接服务器建立的视图,脚本为:select * from openquery(TEST,'select * from oracleB') 执行语句select a.……
是的,如果这样是可以没问题的,但是 oracleB 的数据是变动的,如果这样的话,就是要定时同步 oracleB和B的数据了
回复 点赞
seusoftware 2013年03月23日
实在不行,就把数据先插到本地再关联? select * into B from oracleB
回复 点赞
发动态
发帖子
疑难问题
创建于2007-09-28

9306

社区成员

12.1w+

社区内容

MS-SQL Server 疑难问题
社区公告
暂无公告