使用Update Strategy组件无法进行delete操作
问题:
Update Strategy组件根据字段值对目标表进行DD_DELETE操作时失效
同时,session log中报错:Target table [XXXXXXXX] does not allow INSERT
原因:
Session Properties中对"Treat source rows as"项目没有设定为"Data driven",Session创建时,默认选择是Insert
在Update Strategy组件中配置的是DD_DELETE,要进行删除操作,而该选项却是Insert
因此会在session log中提示Target table [XXXXXXXX] does not allow INSERT(session要insert,但mapping却要delete,它们矛盾了)
解决方法:
使用Update Strategy组件对目标表进行删除操作需进行以下配置:
1) 在Update Strategy组件的Update Strategy Expression中使用"DD_DELETE",需注意的是要在Target将删除key设为主键
2) 在Session的Properties选项卡中,将"Treat source rows as"项目设定为"Data driven"
3) 在session的Mapping选项卡中,将目标表的Properties的Attribute的Delete选项选中
如果是要进行update和insert操作,则需要选中其他对应的选项,如update else insert,update as insert等