0

我的客户使用一个名为 IFS(ERP 系统)的工具,它在 Oracle 上运行(客户运行 11.2)。我的工作是使用 Microsoft SQL Server Integration Services(或 SSIS)从那里提取信息。为此,我们使用了适用于 Oracle 的 Attunity 驱动程序(默认 ODBC 太慢)。

我今天向现有包添加了一些新列,方法是将它们附加到现有查询的尾部。令我惊讶的是,当我尝试将新列加入新表时,它没有显示任何结果。事实证明,列中的值不是我预期的值。一些冗长的故障排除会议之后,我发现了以下内容。

我们的大多数 IFS 对象最后都包含三列;OBJID, OBJVERSION, 和OBJKEY. 不过,这些专栏正在发生一些险恶的事情。它们几乎总是按上述顺序选择:

在此处输入图像描述

查询 Oracle 会产生所有有效的列和数据:

在此处输入图像描述

但是,由于某种原因OBJID在 SSIS 中未被识别为有效列,并且拒绝显示为列。注意来自 Oracle 的数据是如何进入结果集的;只是不在右栏中。该列的实际数据显然完全被忽略了(在上面的屏幕截图中,该列看起来是空白的。我可能只是选择了一个错误的列来截图;它仍然证明了我的观点并突出了问题的核心):

在此处输入图像描述

在 SSIS 中检查“列”选项卡时,存在 ROWID,但未选中该复选框。手动检查它什么也没做。

在此处输入图像描述

我们从 SAP 导入另一个名为 OBJID 的列,同样使用 SSIS,并且工作正常。因此,我怀疑问题可能出在 Attunity 驱动程序上,但似乎无法弄清楚到底发生了什么。

我希望有人可能以前遇到过这种情况,并且可以解决。

这是一个有趣的问题,让我困惑了好几个小时。我正在解决它,所以不需要立即解决;这个问题纯粹是为了满足我自己的好奇心。

我会感谢/感谢任何提示:)

4

1 回答 1

0

在使用 Attinuity 连接器时,我遇到了一些奇怪的问题,当它被证明不可靠时,我一劳永逸地放弃了它们。包有时工作,下一次运行停止工作。我调整了一些 DFT 并关闭了系统,有时我不得不从头开始重新创建。

您面临的问题也可能是此问题的直接结果。我强烈建议您转到“Oracle Provider for OLE DB”,您可以从此链接下载 - http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html

如果有很多包装,我理解这将是一项痛苦的任务,但这是值得的。

于 2017-09-01T02:18:29.510 回答