Using SYNONYMs in Queries of Linked Server Results in Error "Msg 7357, Level 16, State 2, Line 1" (Doc ID 553739.1)

Last updated on JULY 05, 2017

Applies to:

Oracle Provider for OLE DB - Version: 10.2.0.1 to 11.2.0.1 - Release: 10.2 to 11.2
Microsoft Windows (32-bit)
Microsoft Windows x64 (64-bit)

Symptoms

You have created a linked server from SQL-Server to Oracle using Oracle Provider for OLEDB.
While running a query which contains the table name, the query returns results correctly. This problem happens while using both 64-bit oledb provider as well as 32-bit oledb provider
However, when a query is run with a synonym, it can result in one of the following errors :

Msg 7357, Level 16, State 2, Line 1
Cannot process the object ""USER"."SYNONYM_NAME"". The OLE DB provider "OraOLEDB.Oracle" for linked server "LINKED SERVER" indicates that either the object has no columns or the current user does not have permissions on that object.

or

Msg 7314, Level 16, State 1, Line 1

The OLE DB provider "OraOLEDB.Oracle" for linked server "TIGER" does not contain the table ""Test"."EMP"". The table either does not exist or the current user does not have permissions on that table.

Also, using the Oracle ODBC Driver configured with a SQL Serve Linked Server can raise this error for the same reason:
Msg 7318, Level 16, State 1, Line 1
The OLE DB provider "MSDASQL" for linked server "NWPKPRD" returned an invalid column definition for table ""APPLSYS"."FND_USER"".

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms