SSIS OLE DB 源从 Oracle 数据源中随机丢失行

SSIS OLE DB Source is missing rows randomly from an Oracle data source

我在将数据从 Oracle 提取到 SQL 数据库时遇到了一些包的奇怪问题:我随机获得了所有预期的数据集,或者我部分获得了它,或者我得到了一个空数据集。我没有收到任何错误或警告。

详情:

我已经试过了:

如果有任何线索或帮助,我将不胜感激

我知道这个诡辩非常具体,但以防万一它可以帮助某人...

问题的根源在于我们连接到 Oracle 的方式。在此新版本 (19C) 中,必须在查询任何源 table 之前使用调用 'secpac.set_user' 以继续提取。

为此,我们在数据流之前使用了 SQL 任务。由于连接管理器中的连接 属性“保留相同连接”设置为 false ,我们不断打开和关闭连接,这在流程中造成了故障。

解决方案:将“保留相同连接”属性设置为 True。然后仅在第一次需要时打开连接,并为包中的所有任务保持打开状态。