使用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等

  

  

原文地址:https://www.cnblogs.com/shiliye/p/10773602.html