简体   繁体   English

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

[英]ODI-1228: Task Load data-LKM SQL to Oracle- fails on the target > connection

I'm working with Oracle Data Integrator inserting information from original source to temp table (BI_DSA.TMP_TABLE)我正在使用 Oracle 数据集成器将信息从原始源插入临时表 (BI_DSA.TMP_TABLE)

ODI-1228: Task Load data-LKM SQL to Oracle- fails on the target connection BI_DSA. ODI-1228:任务加载数据-LKM SQL 到 Oracle-在目标连接 BI_DSA 上失败。 Caused By: java.sql.BatchUpdateException: ORA-12899: value too large for column "BI_DSA"."C$_0DELTA_TABLE"."FIELD" (actual: 11, maximum: 10)原因:java.sql.BatchUpdateException:ORA-12899:值对于列“BI_DSA”过大。“C$_0DELTA_TABLE”。“FIELD”(实际:11,最大值:10)

I tried changing the lenght of 'FIELD' to more than 10 and reverse engineering but it didn't work.我尝试将“FIELD”的长度更改为 10 以上并进行逆向工程,但没有成功。 Is this error coming from the original source?此错误是否来自原始来源? I'm doing a replica so I just have view privileges on it and I believe so because is the C$ table where the error comes from.我正在做一个副本,所以我对它只有查看权限,我相信是这样,因为错误来自 C$ 表。

Thanks for the help!谢谢您的帮助!

Solution: I tried with the length option before like the answers suggested but didn't work, I noticed the orginal source modified their field lenght so I reverse enginereed source table and problem solved.解决方案:我之前尝试过长度选项,就像建议的答案一样,但没有奏效,我注意到原始源修改了他们的字段长度,所以我对源表进行了逆向工程,问题解决了。

Greetings!问候!

As Bobby mentioned in the comment it might come from the byte/char semantics.正如 Bobby 在评论中提到的,它可能来自字节/字符语义。

The C$ tables created by the LKMs usually copy the structure of the source data. LKM 创建的 C$ 表通常会复制源数据的结构。 So a workaround would be to go in the model and manually increase the size of the FIELD column in the source datastore (even if it doesn't represent what is in the database).因此,解决方法是使用 model 中的 go 并手动增加源数据存储中FIELD列的大小(即使它不代表数据库中的内容)。 The C$ table will be created whith that size on the next run. C$ 表将在下次运行时使用该大小创建。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM