Question

Write Records When There are Errors

  • 7 March 2017
  • 3 replies
  • 12 views

Badge +1
  • Participant
  • 126 replies

It seems that the default behaviour for FME writers is to NOT write any records if an error is encountered, is that case? I want my writer to write the records that are good UNTIL the error occurs. This is for the Oracle Spatial writer, the SQL Server Spatial writer, and the Esri Geodatabase (ArcSDE Geodb) writer. Is it possible?

Thanks


3 replies

Badge +16

Not sure it's entirely possible, have you looked into the the advanced settings such as transaction to start writing at, features per bulk write and features to write per transaction?

Badge +1

Not sure it's entirely possible, have you looked into the the advanced settings such as transaction to start writing at, features per bulk write and features to write per transaction?

Yes, I see those settings, but it is not clear to me what each one means. I'm hoping that there is an easy answer here.

 

 

Userlevel 4

For many database formats FME will write the features in transactions, typically 1000 features at a time. A transaction is a unit of work (a block of instructions) to the database which all need to be implemented together. This means that if just one single instruction inside the transaction fails, the whole block is cancelled (rolled back).

Relative to FME this means that if one feature fails inside a transaction, all the other features in the same transaction won't be written. Note that this is only within the same transaction.

It is possible to write only one single feature per transaction (you can change the number of features per transaction in the writer settings), just be aware that this is much slower as there i a certain overhead associated with each transaction. But it can be helpful for debugging in scenarios where you want to isolate a problematic feature.

Reply