Jason Myers
Jason Myers

Reputation: 38

PLS-00352 AND PLS-00201 Over DB Link

I have a Oracle Database 12c Release 12.1.0.1.0 - 64bit Production database. I'm trying to call a procedure on a Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product database over a public dblink (DEVICE_201). When I attempt the call I get -

Error starting at line : 1 in command -

 BEGIN 
    proc_test@DEVICE_201; 
    END; 

Error report -

ORA-06550: line 2, column 1: PLS-00352: Unable to access another database 'DEVICE_201'

ORA-06550: line 2, column 1: PLS-00201: identifier 'PROC_TEST@DEVICE_201' must be declared

ORA-06550: line 2, column 1: PL/SQL: Statement ignored

  1. 00000 - "line %s, column %s:\n%s"

*Cause: Usually a PL/SQL compilation error. *Action:

Here are the table and procedure definitions on the remote db:

CREATE TABLE "TEST"("TEST" VARCHAR2(200 BYTE))

 -------------------------------------------

 create or replace PROCEDURE PROC_TEST AS 
    BEGIN
     INSERT INTO TEST (TEST) VALUES (SYSDATE);
     COMMIT;
    END PROC_TEST;

This is how I am calling it from the local db:

BEGIN
proc_test@DEVICE_201;
END;

We have this configuration working at other locations and I have run this test code at one of those. I think this comes down to a permissions issue, but the permissions for this location are the same as others as far as I can see.

Upvotes: 1

Views: 12690

Answers (1)

user4252720
user4252720

Reputation:

I was getting same error when using db link between 12c and 10g(10.2.0.1.0). Then found this article: https://82star.wordpress.com/2011/09/06/clientserver-interoperability-support-id-207303-1/ . There's a line: "For database link connections between 11.1 (or higher) and 10.2 the 10g end MUST be at 10.2.0.2 (or higher) in order to use PLSQL between those versions. See Note:4511371.8 for more details." So I upgraded 10g to 10.2.0.5.0 and was able to execute stored procedures via dblink

Upvotes: 1

Related Questions