【发布时间】:2016-12-04 06:16:12
【问题描述】:
我有一个 SSIS 包,其中有一个 DFT。在 DFT 中,我有一个 Oracle 源和一个 Oracle 目标。 在 Oracle 目标中,我使用数据访问模式作为 '表名 - 快速加载(使用直接路径)' 有一个奇怪的问题。它失败并出现以下错误
[Dest 1 [251]] 错误:在执行过程中遇到快速加载错误 预加载或设置阶段。类:OCI_ERROR 状态:-1 代码:0 注意: 在:ORAPRdrpthEngine.c:735 文本:ORA-00604:错误发生在 递归 SQL 级别 1 ORA-01405:获取的列值为 NULL
我认为这是由于源中的 NULL 值,但目标表中没有 NOT NULL 约束,所以这应该不是问题。此外,包在 'Normal Load' 但 'Fast Load' 的情况下工作正常。
我已经尝试在源值为 NULL 的情况下使用 NVL,但仍然没有运气。
我还使用这些连接重新创建了 DFT,但这也是徒劳的。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
是否在 OLE DB 目标上选择了“保持空值”按钮?尝试选择或取消选择“保持空值”
-
@DenStudent 我正在使用 Oracle 目标(这是要求)而不是 OLE DB 目标...
-
使用相同的脚本重新创建表后,它工作正常...
标签: oracle ssis null bulk-load attunity