标签的数据库级别和Informatica级别的数据类型不匹配 [英] Mismatch in datatype in Database level and Informatica level for taget
问题描述
我有一个查询,假设在数据库中有一列具有整数数据类型,但是在informatica中,它错误地为Target分配为Varchar.
I have a query suppose In Database one column has integer dataype but in informatica it is allotted as Varchar by mistake for Target.
来自源的示例数据是"37RR" Varchar.
example data from source is '37RR' Varchar .
会发生什么?
是否所有记录都被拒绝,否则遇到"37RR"记录后将被拒绝.
Do all records get rejected OR after encountering '37RR' records will get rejected.
当我也在Informatica中将列的数据类型也更改为整数时,它会将37加载到目标中而不拒绝该记录.
And when i am changing the datatype of column to integer also in Informatica it is loading 37 in target not rejecting the record.
推荐答案
Informatica不了解数据库中真正存在的内容.它只会尝试通过使用的连接器将 37RR
插入到指定的目标列中.在这里,可能会发生很多事情-取决于不同图层上的设置:
Informatica is unaware of what's really there in the Database. It will simply try to insert 37RR
into the specified target column via the used connector. Here, a number of things may happen - depending on settings on different layers:
- DB可能会拒绝整行
- DB可能会进行隐式转换并修剪数据,因此会插入
36
- 连接器可能会从数据库获取错误消息,并将其转发给Integration Service
- 连接器可能无法显示错误消息或无法将其转发给IS
最好的方法是修复它,并且永远不要依赖任何隐式转换.并且,如果需要,请测试您的设置以验证日志中的系统行为.
Best way is to fix it and never rely on any implicit conversions. And if you need, test your setup to verify system behavior in the logs.
这篇关于标签的数据库级别和Informatica级别的数据类型不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!