Skip to main content

I'm evaluating FME DESKTOP 2020.2 and would like to know if it's possible to:

- connect to a SQL database view (non-spatial)

- update ArcGIS enterprise geodatabase (Postgresql)

 

so far I am able to read the SQL data, I then generate points using Vertex creator, then finally attempt to update the geodatabase data.

This is where I am stuck.

What writer should i use?

  1. ESRI geodatabase arcSDE
  2. PostgreSQL writer
  3. PostGIS writer

 

so far I haven't had much success with either.

Am I missing a step?

Do i need to generate objectIDs befortehand for the data to update the geodatabase tables?

I was hoping to use FME rather than arcpy as it's alot quicker....

thanks

You can use the "Esri Geodatabase (ArcSDE Geodb)" writer. What did you try and what did not work? What do you want to update? Geometry only?

If you want to update existing records, they already have an objectid so you don't have to generate anything.


hi mate,

So that was the writer that gave me the 'best' results.

However, for some reason the attributes were not importing to the new feature class.

I was getting a new FC, with all the fields, but no attributes.

The FC will be updating and adding new features...so I tried truncating as well as drop/create...similar results - it would create the FC but no attributes.

Geometry only...point feature class.

Perhaps I am doing something silly with the user attributes on import?? Looks straightforward.

 

thanks


the other error I am getting is:

The error number from ArcObjects is: '-2147220655'. The error message from ArcObjects is: {DBMS table not found...name of new table I want to create}

 

so does the writer need the table to be present when writing data to it? Table Handling = Create if needed....I would have thought that would have taken care of that?


the other error I am getting is:

The error number from ArcObjects is: '-2147220655'. The error message from ArcObjects is: {DBMS table not found...name of new table I want to create}

 

so does the writer need the table to be present when writing data to it? Table Handling = Create if needed....I would have thought that would have taken care of that?

Not sure of your scenario now. You initially mentioned you wanted to update an ArcGIS Enterprise geodatabase.

  • When you want to insert in or update records in an existing table, you set the table handling to "Use Existing".
  • When you want to insert to an existing table, but remove all records first, you set "Truncate Existing".
  • When you want to replace an existing table you set table handling to "Drop and Create".

All of the above expect a table to exist and will throw the "DBMS table not found" error.

  • When you want to create a new table you set table handling to "Create If Needed".

Not sure of your scenario now. You initially mentioned you wanted to update an ArcGIS Enterprise geodatabase.

  • When you want to insert in or update records in an existing table, you set the table handling to "Use Existing".
  • When you want to insert to an existing table, but remove all records first, you set "Truncate Existing".
  • When you want to replace an existing table you set table handling to "Drop and Create".

All of the above expect a table to exist and will throw the "DBMS table not found" error.

  • When you want to create a new table you set table handling to "Create If Needed".

perhaps I might be better off creating all the tables in the geodatabase first, then update via FME.

 

I'm getting these errors when creating the table, and then if I am truncating it.

An error occurred while attempting to create the feature class 'dbo.table name'. The error number from ArcObjects is: '-2147216061'. The error message from ArcObjects is: {Table already exists ERROR: relation "table name" already exists::SQLSTATE=42P07] ]geodata.dbo.table name]}

GEODATABASE_SDE writer: A fatal error has occurred. Check the logfile above for details

GEODATABASE_SDE writer: A fatal error has occurred. Check the logfile above for details

 

 

Geodatabase Writer: Feature Class or Table 'dbo.table name' must exist when Table Handling is set to 'Truncate Existing'

GEODATABASE_SDE writer: A fatal error has occurred. Check the logfile above for details

GEODATABASE_SDE writer: A fatal error has occurred. Check the logfile above for details

 

confusing.

 

am going to test creating a table with no rows and then inserting into that.

 

thanks for your replies.


Reply