ODI-1228:任务加载数据-LKM SQL 到 Oracle-在目标上失败 > 连接

问题描述

我正在使用 Oracle Data Integrator 将信息从原始源插入临时表 (BI_DSA.TMP_TABLE)

ODI-1228:任务加载数据-LKM sql 到 Oracle-在目标上失败 连接 BI_DSA。引起:java.sql.BatchUpdateException: ORA-12899: 列的值太大 "BI_DSA"."C$_0DELTA_TABLE"."FIELD"(实际:11,最大值:10)

我尝试将“FIELD”的长度更改为 10 以上并进行逆向工程,但没有奏效。 此错误是否来自原始来源?我正在做一个副本,所以我只有它的查看权限,我相信是因为错误来自 C$ 表。

感谢您的帮助!

解决方案:我之前尝试过使用长度选项,就像建议的答案一样,但没有用,我注意到原始源修改了它们的字段长度,因此我对源表进行了逆向工程并解决了问题。>

您好!

解决方法

正如 Bobby 在评论中提到的,它可能来自字节/字符语义。

由 LKM 创建的 C$ 表通常复制源数据的结构。因此,一种解决方法是进入模型并手动增加源数据存储中 FIELD 列的大小(即使它不代表数据库中的内容)。 C$ 表将在下次运行时创建为该大小。