Skip to main content
Archived

Oracle writer - Commit/Rollback based on conditions

Related products:Transformers
  • May 26, 2017
  • 1 reply
  • 11 views
james_spath
bkerr
benough
dpollard
danilo_fme
+21
  • james_spath
    james_spath
  • bkerr
    bkerr
  • benough
    benough
  • dpollard
    dpollard
  • danilo_fme
    danilo_fme
  • warrendev
    warrendev
  • j.botterill
    j.botterill
  • gisbradokla
    gisbradokla
  • birgit
    birgit
  • bruceharold
    bruceharold
  • annette2
    annette2
  • muni-me
    muni-me
  • leon.bowers
    leon.bowers
  • nordpil
    nordpil
  • salvaleonrp
    salvaleonrp
  • dmerrick
    dmerrick
  • frro
    frro
  • olpotosi
    olpotosi
  • jasonbirch
    jasonbirch
  • fmedon
    fmedon
  • liamfez
    liamfez
  • laurenc
    laurenc
  • ritanshugoel
  • claudinel_
    claudinel_
  • jessica.maple
    jessica.maple
  • mbrooksnz
    mbrooksnz

Let's say that before an Oracle writer, I have a Counter and Stats Calculator. I use the total count of features as a condition in my Oracle writer to commit or rollback my transaction. If the right number of features were inserted, commit. Else rollback. Recplicating this with SQLExecutors is possible but involves a lot of hardcoding.

This post is closed to further activity.
It may be a question with a best answer, an implemented idea, or just a post needing no comment.
If you have a follow-up or related question, 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.

1 reply

david_r
Celebrity
  • May 28, 2017

There are already some ideas floating about how to improve / extend on the transaction support in FME based on use-cases very similar to yours, but I'm not sure if there's a very simple solution. The problem is that you really want to limit the possibility of ending up with a humongous transaction that takes forever to commit/rollback or fills up the database logs.

If you have a suggestion for how to implement it, I'm sure Safe would be interested to hear about it.

One common "best-practice" way of working around this is to use a staging schema, which is basically an empty copy of the production schema: load the data into the staging schema, validate and transfer to the production schema only if the validation was ok, otherwise emtpy the staging schema.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings