gpt4 book ai didi

database - PLS-00352 和 PLS-00201 通过 DB 链接

转载 作者:搜寻专家 更新时间:2023-10-30 23:37:47 25 4
gpt4 key购买 nike

我有一个 Oracle 数据库 12c Release 12.1.0.1.0 - 64 位生产数据库。我正在尝试通过公共(public) dblink (DEVICE_201) 在 Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product database 上调用过程。当我尝试打电话时,我得到了 -

错误从第 1 行开始 -

 BEGIN 
proc_test@DEVICE_201;
END;

错误报告-

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"

*原因:通常是PL/SQL编译错误。 *行动:

这里是远程数据库上的表和过程定义:

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;

这就是我从本地数据库调用它的方式:

BEGIN
proc_test@DEVICE_201;
END;

我们在其他位置使用此配置,我已在其中一个位置运行此测试代码。我认为这归结为权限问题,但据我所知,此位置的权限与其他位置相同。

最佳答案

在 12c 和 10g(10.2.0.1.0) 之间使用数据库链接时,我遇到了同样的错误。然后找到这篇文章:https://82star.wordpress.com/2011/09/06/clientserver-interoperability-support-id-207303-1/ .有一行:“对于 11.1(或更高版本)和 10.2 之间的数据库链接连接,10g 端必须位于 10.2.0.2(或更高版本),以便在这些版本之间使用 PLSQL。有关更多详细信息,请参见注释:4511371.8。”所以我将10g升级到10.2.0.5.0,并且能够通过dblink执行存储过程

关于database - PLS-00352 和 PLS-00201 通过 DB 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39495114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com