SSIS - 使用Attunity驱动程序从Orace导入时缺少列OBJID

时间:2017-08-22 15:32:45

标签: sql-server oracle ssis attunity

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

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

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

enter image description here

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

enter image description here

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

enter image description here

检查"列" SSIS中的选项卡,ROWID存在,但未选中复选框。手动检查无效。

enter image description here

我们从SAP导入另一个名为OBJID的列,也使用SSIS,并且工作正常。因此,我怀疑这个问题可能与Attunity司机有关,但似乎无法弄明白究竟发生了什么。

我希望有人可能以前遇到过此事,并且有一个解决方法。

这是一个有趣的问题,让我难以忍受了好几个小时。我正在解决它,因此不需要立即解决问题;问题纯粹是试图满足自己的好奇心。

我要感谢/感激任何暗示:)

1 个答案:

答案 0 :(得分:0)

当使用Attinuity连接器时,我已经把我的一些bizzare问题突然出现,并且当它被证明是不可靠的时候已经放弃了它们。包有时工作,下次运行时停止工作。我调整了一些DFT并向下调整系统,我有时需要从头开始重新创建。

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

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