I'm trying to create a relationship class with Python using a GlobalID.

When I use Python it gives me the error:

Failed to execute. Parameters are not valid. ERROR 000800: The value is not a member of GLOBALID. Failed to execute (CreateRelationshipClass).

When I try to use the Create Relationship Class tool through the Toolbox, I get the same error. If I select GlobalID as the primary key, it will ONLY let me select a GlobalID as the foreign key. It will not let me select a GUID of my choice.

But when I'm in ArcCatalog and right click the Dataset and go to New > Relationship Class...

It works!

What's wrong here?


Well I found out the bug that was logged for this is NIM082537.

You can follow the status of it here: http://support.esri.com/en/bugs/nimbus/role/beta10_1/TklNMDgyNTM3

It might be necessary to copy/paste URL into address bar.

| improve this answer | |

One workaround that seemed to help in some cases for me was using time.sleep(10) between the creation of GlobalIDs/fields and calling CreateRelationshipClass_management. It only helped some of the time, though.

The best answer I found was using 2to3 to port my code into the arcpy packaged with arcgispro (on python3.4), and it is now successfully producing both one_to_many and many_to_many relationships based on GlobalID and parent GUID reference fields, and the GDB it produces works perfectly in Arcmap. HTH

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.