I am trying to assign domains and fields in a SDE/Oracle geodatabase with ArcObjects in Java.
- Domains are assigned to fields via IClassSchemaEdit3.alterDomain(myField,myDomain) - Aliases are assigned to fields via IClassSchemaEdit3.alterFieldAliasName(myField,myDomain)
The SDE user is the owner of the geodatabase. USER2 is the data owner. Data is created via SQL in Oracle, not in ArcCatalog. USER2 gives SDE privileges to create, insert, update and delete data.
Assume USER2 connects to the SDE/Oracle geodatabase (spatial database connection) and creates a table using ArcCatalog. Then, If I run the program to assign domains and aliases to this table, everything works fine! The domains and aliases are assigned and stored in the geodatabase.
The problem appears when USER2 tables are created in Oracle without using ArcCatalog. ArcCatalog shows the tables but after running the ArcObjects/Java application which worked in the previous scenario, now domains and alias are not stored in the geodatabase!
I suppose that these tables are not correctly registered in the geodatabase system tables because the were not created using ArcCatalog.
Is there any way to register the Oracle tables in the geodatabase after they have been created?