【问题标题】:OpenQuery SQL returns different resultsOpenQuery SQL 返回不同的结果
【发布时间】:2016-05-17 00:42:11
【问题描述】:

我在运行代码的 Oracle 数据库中设置了一个视图:

select *
from Availabilities

这会返回结果

Roster | StartDate | EndDate
Avail  | 18/5/16   | 18/5/16
Train  | 19/5/16   | 19/5/16
Avail  | 20/5/16   | 30/5/16

这些结果是正确的并且符合预期,但是......

我已将该视图所在的服务器链接到 SQL 服务器。从那里我通过代码直接运行 OpenQuery 到在链接服务器上生成该结果集的视图:

select *
from OpenQuery(LinkedServer,'SELECT *
FROM REPORT_USR.AvailabilitiesView')

它返回的结果结合了第一个和第三个结果:

Roster | StartDate | EndDate
Train  | 18/5/16   | 30/5/16
Avail  | 19/5/16   | 19/5/16

为什么要这样做?有没有办法阻止它这样做?

谢谢

【问题讨论】:

  • 我假设直接在 Oracle 服务器上运行 SELECT * FROM REPORT_USR.AvailabilitiesView 会返回所有行 - 仔细检查并绝对确定总是好的。
  • 是的。它返回所有行
  • 这很奇怪。我建议使用各种 Oracle 视图(或者可能是 Toad)来捕获提交给 Toad 的查询。
  • 你能发布视图AvailabilitiesView的代码吗?另外,检查这个线程stackoverflow.com/questions/32699299/…
  • 创建视图AvailabilitiesView AS select * from Availabilities

标签: sql oracle openquery


【解决方案1】:

尝试在两端断开连接并重新连接 - 确保其中一个连接没有返回未提交的数据。

【讨论】:

  • 抱歉,那个没有骰子
猜你喜欢
  • 2022-06-11
  • 2018-11-28
  • 1970-01-01
  • 2013-06-13
  • 1970-01-01
  • 2010-12-22
  • 2020-11-13
  • 1970-01-01
  • 2016-11-10
相关资源
最近更新 更多