关于用OPENQUER连接远程数据缺少返回数据问题

tom20803862 2016-11-23 03:55:45
用sqlserver本地数据库连接远程oracle数据库,使用OPENQUERY查询数据。
如这样

SELECT * FROM OPENQUERY(xcbdc,'select * from CFDJ_DYGX ') where zl like '%阳光佳苑%12%'

SELECT * FROM OPENQUERY(xcbdc,'select * from CFDJ_DYGX where zl like ''%阳光佳苑%12%'' ')

但这样两写法,返回数据不一样,第二只返回了一条数据,真实情况是第一条写法返回数据正确,但这样写法,执行效率不高,太慢。

求助。
...全文
605 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwfxgm 2016-12-09
  • 打赏
  • 举报
回复
帮你顶一下。
tom20803862 2016-12-09
  • 打赏
  • 举报
回复
顶一下顶一下
misterliwei 2016-12-09
  • 打赏
  • 举报
回复
引用 5 楼 tom20803862 的回复:
顶一下顶一下
第一条多返回的数据看看,是什么样子的? 会不会是WHERE 语句在SQL SERVER和ORACLE中执行不同而造成的?
快溜 2016-11-25
  • 打赏
  • 举报
回复
创建连接服务器
Ginnnnnnnn 2016-11-25
  • 打赏
  • 举报
回复
你应该在远程服务器上面执行语句2为什么只有1条数据返回,查清楚之后改成相同的语句就可以了
卖水果的net 2016-11-23
  • 打赏
  • 举报
回复
远程数据库的字符集,是本地的是不是一样的? 你在查询的时候,把远程的 sql profiler 打开看看,远程实际执行的语句都是什么 ? 按理来说,这两个查询结果应该是一样的,除了字符集以外,想不出其他的问题;1
薛定谔的DBA 2016-11-23
  • 打赏
  • 举报
回复
第一种写法是,先把所有数据获取过来再筛选。 第二种写法是,先筛选再获取筛选的数据过来。 这两种方法返回的结果都一样的。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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