English

FAQ: Are Oracle public synonyms supported in ArcGIS for referencing a table?

Question

Are Oracle public synonyms supported in ArcGIS for referencing a table?

Answer

No, Oracle public or private synonyms are not supported by ArcGIS. A synonym is an alternative name that references a table, view, or sequence in Oracle. ArcGIS cannot support synonyms, because ArcGIS will fully qualify (prefix) all table or view objects with the schema owner when referencing the object in the SQL statement.

The following example demonstrates creating a public synonym in Oracle and using ArcObjects to call IFeatureWorkspace::OpenTable.

Code:
SQL> CREATE TABLE tax_assm_2008
2 (parcel_id VARCHAR2(32),
3 tax_base NUMBER(38),
4 value NUMBER(38));

Table created.

SQL> CREATE PUBLIC SYNONYM tax_assessment FOR tax_assm_2008;

Synonym created.


When attempting to call OpenTable with ArcObjects and the workspace connected as the owner of the tax_assessment synonym and table tax_assm_2008, the call fails with an underlying Oracle error: "ORA-00942: table or view does not exist".

Code:
Dim pWorkspace As IWorkSpace
Dim pFeatureWorkspace As IFeatureWorkSpace
Dim pTable As ITable

Set pFeatureWorkspace = pWorkSapce
Set pTable = pFeatureWorkspace.OpenTable("tax_assessment")