Skip to main content

My FME Workbench consist of 5 DatabaseUpdater transformers, each one of the DatabaseUpdater transformer would may update the same row but different fields. If I enable all the DatabaseUpdater transformers, I am not getting the right result, but if I enable one DatabaseUpdater at a time, and run the workbench 5 times, I am getting the correct result. Is this because of the record locking? Any suggestions? Thx

Hi @dorgin, I think you are right and the record is locked. You could try using FeatureWriter transformers in series instead, so that the output of one completes before the next is intitiated. Using the FeatureWriter you could set the fme_db_operation attribute to specify whether a feature was an update/insert/delete.


That's probably more to do with your database and how it handles locking and transactions than FME.

If you need really fine-grained control, also consider using the SQLExecutor.


Would it not be more handy to prepare the records to be updated and then execute the update?

Using group by ID and creatign a attribute "DB_operation" = update where necessary.


Reply