Need workaround for Global ID unregistration, back to GUID temporarily.

04-21-2011 12:06 PM
New Contributor II
The resources page for ESRI highlights the need, but provides no way to merge multiple File Geodatabases that have been edited into a single File Geodatabase.

Example is:
Feature Class A has a globalid column.
Feature Class B has a globalID column.
Attributed Relationship class is generated between A and B, using thier globalid columns. (needed an always unique key when multiple systems are editing, so Globalids are guranteed to be managed by GDB and unique).

Now copies of the file gdb's are made.
1) Original Filegdb is kept.
2) File GDB is edited.
3) Another file GDB is edited.

If you take the changed from one file GDB and merge them to the other (by referencing the original), then the globalid field is auto populated. So what is needed is described in detail ( please read this before you post this is not supported) in Esri's workflow diagram here (Option 1 from ESRI is "Convert between GlobalID and GUID columns"):

How to copy or load data and preserve GlobalID values

       The unregister the GlobalID call (IClassSchemaEditEx) is only supported in a non-versioned ArcSDE environment. I can understand the fact you do not support a versioned SDE.... but what about the FileGDB case just outlined? None of this is versioned data (it can't be in file geodatabase). So what ArcObjects work around is there to temporarily unregister the Global ID column, update it with the needed rows, then re-register the column?

Only things I can think of are:
A: Try using the File GDB SDK to create my own class/dll/tool since ESRI has not released an ArcObject Class.
B: Create yet another GUID field, which I populate with the exact same GUID as the GlobalID before the merge, then use it to swizzle the relationships after the merge.

About A: I am hoping someone will let me know if A is even an option.
About B: Is extremely complex are it would have to be a loop on all relationships when starting the merge process, to find all the relationships that could possibly be effected, then come up with the code to track the edits for the origin and destination changing, then post processing to swizzle the GUIDs.

Hoping that someone will have a work around that allows me to de-register the globalid columns as is recommended in the ESRI workflow documentation. All responses are welcome at this time.

0 Kudos
0 Replies