Reputation: 38
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
- 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
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