Solved

public synonyms and oracle packages

Posted on 2006-11-10
1
2,496 Views
Last Modified: 2012-06-21
Hi,

I have 2 schemas in an oracle database. (SchemaA and SchemaB). I have a procedure (Proc1) in a package (Pkg1) in SchemaB that I wish to execute from a C# application. I only want to log in to SchemaA in the application. I created a public synonym for Pkg1 as follows in SchemaB:
CREATE PUBLIC SYNONYM pkg1 FOR Pkg1;

We use toad as the oracle development environment. When I log in to SchemaA, I can execute Proc1 in SchemaB without problems. However when I execute it from the C# application, I get the following error:
ORA-06550: line 1, column 15: PLS-00201: identifier 'pkg1.proc1' must be declared
ORA-06550: line 1, column 7: PL/SQL: Statement ignored

Does anybody know how to fix this and why it works in Toad?

Thanks
0
Comment
Question by:WallaceAdrian
1 Comment
 
LVL 7

Accepted Solution

by:
Stephen Lappin earned 250 total points
ID: 17913410
Make sure that you specify the schema when creating a public synonym:

CREATE PUBLIC SYNONYM pkg1 FOR SchemaB.Pkg1;

Also, ensure that your user has execute privilege on Pkg1

GRANT EXECUTE on SchemaB.Pkg1 to UserY;
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
This post first appeared at Oracleinaction  (http://oracleinaction.com/undo-and-redo-in-oracle/)by Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…

790 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question