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?
2 Answers 2
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.
-
The link is broken, use support.esri.com/fr/bugs/nimbus/TklNMDgyNTM3 The status of the bug indicates that it is fixed in version 10.6.1.Xebax– Xebax2019年01月22日 10:40:15 +00:00Commented Jan 22, 2019 at 10:40
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
Explore related questions
See similar questions with these tags.