AnsweredAssumed Answered

Where to get a delta geodatabase for ImportGeodatabaseDeltaAsync?

Question asked by m.glasesri-de-esridist Employee on Jul 27, 2017

In the Runtime .NET API, I found a method named ImportGeodatabaseDeltaAsync.

Unfortunately, there is no documentation how to use this method in a full workflow. So I have to try many things.

 

The first parameter is

geodatabaseFileName

Type: System.String
The path and filename of geodatabase where delta is applied to.

It seems that it has to be a Runtime geodatabase. I could use my Runtime geodatabase anyway, which I have created with my Runtime client against an sync enabled ArcGIS Server (FeatureServer) service. So, this is no problem, as I could create it with the Runtime SDK method GenerateGeodatabase.

 

The second parameter is

deltaGeodatabaseFileName

Type: System.String
The path and filename of geodatabase where to import the delta from

This one could not be a normal Runtime geodatabase file, because you will get an exception in that case:

Esri.ArcGISRuntime.ArcGISRuntimeException: 'SQL error or missing database: no such table: GDB_DataChangesDatasets'

Obiviously the geodatase has a different structure.

I could not find any SDK functionality for creating a delta package, so I tried to create one directly from the REST API:

We created a replica first, added a new feature in the service and then called the synchronizeReplica operation. The result was a geodatabase file, which now has different schema as there exists some additional tables in it.

 

When using this geodatabase for the deltaGeodatabaseFileName Parameter, the ImportGeodatabaseDeltaAsync works.

 

My question now is:

  • Is there a way to create the delta geodatabase file with Runtime SDK?
  • As the synchronizeReplica REST operation is also used SyncGeodatabase SDK method, do I have to use some special parameters to generate it? But how?
  • Could I also generate the delta geodatabase with a desktop/python tool?
  • As first parameter (geodatabaseFileName), could I also use a desktop generated geodatabase (ArcGIS runtime content)?

 

And maybe adding a documentation for this workflow would be helpful, as I could not find anything about it.

Outcomes