Question

Problem with dynamic schema and Use Existing table handling option on FeatureWriter with ESRI Geodatabase writer

  • 12 June 2018
  • 4 replies
  • 23 views

Hi,

 

 

I am facing a problem with the FeatureWriter Transformer using ESRI Geodatabase ArcSDE GeoDB or File GeoDB. It seems unable to use dynamic schema definitions whenever I use the 'Use Existing' or 'Truncate Existing' modes for Table handling.

 

 

With the following workbench, I have one fatal error like the following: "Geodatabase Writer: Feature Class or Table 'd_y_n' must exists when Table Handling is set to 'Use Existing'.". I am using FME 20180430 build 18305 under MS Windows 7 64 bits. Here is the workbench (features are read from a FeatureReader):

Here is the featureWriter configuration:

 

I really want to be sure that the table structure is left untouched by FME, that's why I am using 'Use Existing' or 'Truncate Existing' mode. If I use 'Create If Needed', it does work!

 

 

If I use any other Writer than ESRI Geodatabase (like shape, GPKG, GeoJSON), there is no problem and data are correctly written with 'Use Existing' option set.

Is this a specific bug for ArcSDE GeoDB Writer? Is there a workaround using FeatureWriter without modifying layer structure?


4 replies

Userlevel 4
Badge +25

Just for clarification: when you say it works with Create if needed, does that result in the structure you want? What happens in case of existing tables? I would not expect those to be truncated in that situation so you would end up with "double" data.

You could filter on fme_feature_type first and if you find features that belong to existing tables route them through a SQLExecutor to truncate the table manually.

Well, the main problem is not the truncate because the tables used in the FeatureWriter are new and always empty (from a previous workbench). What I want to do is just to inject features into the tables with being really sure that nothing will modify the table structure: the features read by the FeatureReader could have a few different attributes and I don't want those attributes to be inserted into the destination table.

I can do it with any other Writer that have the Table Handling option. I suspect this is a bug from the Writer !

I second this. If I were to replicate this in a non-dynamic workflow (e.g. Table1 Reader -> Table1 Writer set to truncate) it will obviously work.

But for some reason it will not when set to dynamic.

Badge +6

Hello @mribreux,

 

In the latest build of FME 2018.1, this issue should no longer be occuring. A dynamic workflow should now correctly write to the table when using Truncate Existing.

Thank you for your patience! The latest build can be found here: https://www.safe.com/support/support-resources/fme-downloads/

Reply