- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有架构 A、包 B 和过程 C。B 在架构 A 中,C 在 B 的包主体中。
当我说:
Begin
Exec B.C;
END;
但是当我说:
Begin
Exec A.B.C;
END;
Error report:
ORA-06550: line 2, column 12:
PLS-00302: component 'B' must be declared
ORA-06550: line 2, column 4:
PL/SQL: Statement ignored
我以 A 身份登录,所以它在 A 的架构中。和SELECT * FROM user_OBJECTS WHERE OBJECT_NAME = 'B';显示包和包体均有效。
最佳答案
我遇到了同样的问题并找到了问题所在。我会在这里写下解决这个问题的答案并帮助其他人。
在我的例子中,我的用户 A 对过程 B 有执行权限(只是一个过程,不是一个包,但它是一样的)。当用户尝试运行时:
Begin
Exec A.B;
END;
获取错误:
ERROR at line 2:
ORA-06550: line 2, column 7:
PLS-00302: component 'B' must be declared
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
问题:那是因为在数据库中创建了名称为 A 的公共(public)同义词。这是一个旧数据库,我只是 DBA,不是开发人员,但在这种情况下,开发人员是一个没有灵感的开发人员。他使用了4类同名对象:user、table、tablespace和public synonym。名为 A 的表前面的名为 A 的公共(public)同义词。
解决方案:因为您不确切知道谁在使用该公共(public)同义词,所以我不得不找到另一个解决方案而不是删除公共(public)同义词。我为该过程创建了一个私有(private)同义词。现在用户可以在执行代码中跳过过程的所有者并忽略公共(public)同义词。此问题出现在 Oracle 数据库 10.2.0.4 中。
Begin
Exec B;
END;
PL/SQL procedure successfully completed.
结论:永远不要使用模式名称的公共(public)/私有(private)同义词。
希望能帮到别人。如果我没有说清楚,请发表评论。
关于oracle - 为什么不能执行SCHEMA_NAME.PACKAGE_NAME.PROCEDURE,Oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12144254/
我正在使用 Spring 2.5.5 和 Hibernate 3.2.1。 我有以下实体: @Entity @Table(schema = "mailing", name = "mailing") p
我研究了这个问题并发现了类似的问题,但没有一个有适合我的答案。 尝试运行 Spring 应用程序时失败,因为启动 ApplicationContext 时出错。 此错误是 FlywayExceptio
我在 T-SQL 脚本中使用 SCHEMA_NAME() 函数。 它为我返回 NULL,但为我的同事返回默认架构。 当还向 SCHEMA_NAME() 函数提供参数时,SCHEMA_NAME() 的文
PostgreSQL 有一个查询特定模式的选项。 SET search_path TO SCHEMA_NAME 它会导致任何伪影吗? 使用它有多安全? 最佳答案 更改 search_path 会更改在
我正在尝试设置一个 PostgreSQL Docker 容器。我想在启动时创建一个模式并设置 search_path到那个架构。 我创建了一个初始化 .sql 文件并将其复制到 /docker-ent
我正在尝试解决另一个棘手的 MySQL 查询。我需要一个查询,该查询将在单个命令中返回以下内容: +----------+------------------------------+--------
呼唤 BEGIN DBMS_UTILITY.COMPILE_SCHEMA(schema => '', compile_all => FALSE); END; / 不编译无效的包体。有谁知道原因
我是一名优秀的程序员,十分优秀!