Question

Can multiple DatabaseUpdater transformers in same workbench update same row of record?


Badge +2

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


3 replies

Badge +1

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.

Userlevel 5

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.

Badge +3

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