使用PowerCenter Designer,记录一下中间遇到的问题:
1、lookup组件在写sql时,可以有查询条件,但是不能有排序(lookup有默认排序,根据表主键和out port)
需要更改默认排序时,需要在order by filed 后面加 --,以注释掉组件自动添加的排序语句
2、varchar与char型字段比较时,需要做trim
3、根据时间进行增量更新时,可以直接使用全量的mapping,在session里面设置source qualifier里面增加sql filter条件就ok
4、使用joiner组件时,最好对数据进行排序。数据量大、且没有进行排序的情况下,Workflow会出现莫名的错误。
5、使用Update Strategy进行更新操作时,可能会遇到目标数据被reject的情况,查看日志时会发现workflow没有进行update操作,而是在进行insert操作,这个时候重新创建一个workflow即可。可能的原因是,在创建workflow时,没有使用update strategy组件,而是在后面进行添加的。有可能是powercenter的一个小bug...
6、Expression transformation组件中的variable的使用:在exp组件中,ports是按照input ports、Variable ports、Output ports的顺序赋值的;同一类型的ports是按照port在组建里面从上至下出现的顺序赋值的。
7、问题:Deadlock retry logic will not be implemented.
解决办法:一般出现这种错误是由于joiner组件的两个数据源来自同一个表,添加排序组件,然后选中joiner组件的Sort Input属性即可。