[疑难问题]无法从链接服务器 "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 是有数据的

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

...全文
3172 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzl495729772 2013-06-25
  • 打赏
  • 举报
回复
你如果连接的是视图,没有其他的原因话,你确认一下,你在建立视图之后有没有重新改过表的结构,通常是把数据长途加长了,一般这个原因, 重新把定义一下你的视图就可以了。
Goxu 2013-03-27
  • 打赏
  • 举报
回复
再等几天结贴,看还有没有知道的人再来指导下!!!!
Goxu 2013-03-27
  • 打赏
  • 举报
回复 1
暂时通过强制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

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧