Skip to main content
Question

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

  • April 20, 2018
  • 3 replies
  • 18 views

dorgin
Contributor
Forum|alt.badge.img+3

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

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

3 replies

Forum|alt.badge.img+1
  • 59 replies
  • April 20, 2018

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.


david_r
Celebrity
  • 8394 replies
  • April 20, 2018

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.


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • 2252 replies
  • April 20, 2018

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.