Hello
As far as I know fme_db_operation should work for all DB target formats.
SDE30 writer uses the C++ interface whereas GEODATABASE writers uses ArcObjects interface.
1) I would check the log for "Features not written due to no schema defined" ...
2) I would check for problems in Connection parameters
3) try a GEODATBASE FileGDB or Personal GDB. In most situations they should work identical to SDE GEODATABASE.
Well, so far that's what I do in similar cases. Hope it helps.
Michael
Hi Michael, thanks for the reply!
I have already checked point 1 and 2. Speaking with the DB-manager he "did something" on the server side for those tables. He enabled versioning on the "subfeatures" and not only the "parent-features" for those objects. Not sure how to explain it, or why it works - however now when the versioning is correctly set it seems to work as wanted.
Easy to get confused by the FME-Write-Successfull - which only means FME has SENT the features to ArcSDE - however they can still fail after sent from FME (so actually not written to DB).
Thanks again!
I have worked with both writers extensively in the past and this is actually something that I purposefully will use the SDE30 writer for. The SDE30 writer actually performs an "UPSERT" (updates features when found, but inserts if key attribute is not found).
The Geodatabase SDE writer requires UPDATE, INSERT or DELETE to be defined via fme_db_operation and will only do that operation (if you tell it to UPDATE a feature that doesn't exist it basically ignores it).
Also, I have put in an enhancement request for UPSERT to be added for other database writers. It is much easier than using a bunch of UpdateDetectors to determine database operation.
Hey,
You need to be careful when using FME to write to a versioned feature class in SDE. If you write your changes to the Default version, you can easily overwrite edits done by others when the Reconcile and Post process occurs. I have created an FME version in ArcGIS at the appropriate level in the versioning tree. Set you FME output to write to that FME version and make sure you have Versioning set as your Transaction Type under Advanced settings. Run your FME workspace. Then you can use the Reconcile and Post process on the ArcGIS side to introduce your changes up the versioning tree. This will allow you to resolve any conflicts that may occur.
Thanks for all the help. There are some articles, videos and tutorials about writing to ArcSDE - however these points from actual users are more valuable than those.
Not sure if it is easier to write to another database (for instance PostGIS), however I guess all databases (and formats) have different difficulties.