Attempting to associate a conductor to a conduit results in the following error message:
Run-time error '-2147216086 (8004152a)':
ForCableAttribute column not found [42S22:[Microsoft][SQL Server
Native Client 10.0[(SQL Server)]Invalid column name 'ULSObjectID',]
This example is with SQL Server but the same general errors can also be seen with Oracle. The error is for conduit to PriUG; the error can be seen with any conduit to conductor (or cable) association. The error is seen the first time an attempt is made to associate a primary underground conductor to a conduit.
To relate a conductor (or cable) to a conduit requires a many to many relationship class to exist. Creating this class requires entering 4 different keys. In this case the key ULSObjectID was mistyped, it does not match the actual column name. You can verify this by right-clicking on the relationship in ArcCatalog and selecting Properties.
The error includes the relationship name ConduitSystem_PriUG.
There is no edit option for Esri relationships classes so you'll need to delete the existing relationship & create a new one. Any existing conduit to conductor (Primary Underground in this example) records will be lost.
Conduit Manager Step 3: Create Relationship Classes http://resources.arcfmsolution.com/10.2.1b/DesktopConfig/webframe.html#CM_Create_Relationship_Classes.html
Conduit to Conductor relationship class
Again I'm using the example of ConduitSystem to PriUG feature class.
Origin: ConduitSystem feature class
Destination: PriUG (Primary Underground) feature class
Simple (not Composite) Many to Many attributed relationship. Attributed means fields are being added, add two long integer fields ULS_Position and PhaseDesignation during relationship creation.
Origin Primary key: ObjectID from ConduitSystem
Destination Primary key: ObjectID from PriUG feature class
Conduit Foreign key: ULSObjectID
PriUG Foreign key: UGObjectID
How to create the relationship class in ArcCatalog
Minerville sample data is used here.
1. In ArcCatalog right-click on desired dataset > New > Relationship Class.
2. I want all my conduit to conductor/cable relationships to be listed together so I use the same prefix for all like Conduit_ or ConduitSystem_.
3. Type of relationship is Simple, not Composite.
4. Relationship labels: Actual names are not important, but leave default of None for direction of message propogation.
5. Cardinality = M - N (many to many). If you selected Composite for relationship type in step #3 you won't have the option for many to many. It must be many to many.
6. Must add two attributes, select radio button for Yes, I would like to add attributes to this relationship class
7. Add the two fields here. There is no validation against the actual field name so be careful about typos to avoid having to create the relationship class again.
8. Last step is adding the keys. Primary keys have a drop-down but foreign keys do not & can also be mistyped. It was this step that caused the error when the foreign key for ConduitSystem was typed in as something other than ULSObjectID.
9. The last wizard screen is a summary of the relationship class. Double-check it for accuracy so you can go back if needed. Otherwise Finish.
ConduiSystem_PriUG relationship class properties