简体   繁体   English

taget 的数据库级别和 Informatica 级别的数据类型不匹配

[英]Mismatch in datatype in Database level and Informatica level for taget

I have a query suppose In Database one column has integer dataype but in informatica it is allotted as Varchar by mistake for Target.我有一个查询,假设在数据库中一列具有 integer 数据类型,但在 informatica 中,它被错误地分配为 Varchar 用于 Target。

example data from source is '37RR' Varchar.来自源的示例数据是“37RR”Varchar。

What will happen?会发生什么?

Do all records get rejected OR after encountering '37RR' records will get rejected.是否所有记录都被拒绝,或者在遇到“37RR”记录后会被拒绝。

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 中将列的数据类型更改为 integer 时,它在目标中加载 37 不拒绝记录。

Informatica is unaware of what's really there in the Database. Informatica 不知道数据库中到底有什么。 It will simply try to insert 37RR into the specified target column via the used connector.它只会尝试通过使用的连接器将37RR插入指定的目标列。 Here, a number of things may happen - depending on settings on different layers:在这里,可能会发生很多事情 - 取决于不同层的设置:

  • DB may reject the whole row DB 可能会拒绝整行
  • DB may do an implicit conversion and trim the data, hence inserting the 36 DB 可能会进行隐式转换并修剪数据,因此插入36
  • Connector may get the error message from DB and forward it to Integration Service连接器可能会从数据库获取错误消息并将其转发给集成服务
  • Connector may not fet the error message or fail to forward it to IS连接器可能无法接收错误消息或无法将其转发给 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.如果需要,请测试您的设置以验证日志中的系统行为。

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

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