oracle - 戴安娜是谁,她为什么不让我的数据库对象编译?

标签 oracle stored-procedures views

好的,所以问题标题有点半开玩笑,但问题足够严重。有时,在架构中编译对象或导入转储文件时,我会看到以下错误消息:

ORA-04028: cannot generate diana for object SCOTT.VW_EMP

这实际上意味着什么,我该如何避免呢?

最佳答案

此处相关:PL/SQL、包大小、解析树节点、代码行。

Diana 是 Oracle 的接口(interface)定义语言,用于将数据库表的结构和 PL/SQL 程序单元的逻辑表示为属性树。

解析树节点的数量存在内部限制。编译器版本设置最大代码行数。

因此,请检查 PL/SQL 逻辑的大小和代码行数。可能不可能,甚至没有必要知道您的版本可以处理的实际限制。

一旦你知道在哪里调整你的包裹尺寸,问题就解决了一半。

当你解决了另一半时,请告诉我们,谢谢。

关于oracle - 戴安娜是谁,她为什么不让我的数据库对象编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7764656/

相关文章:

php - Laravel 5 blade 在出现错误而不是抛出异常时显示空白页面

sorting - 在 Drupal 中按自定义字段排序 7 View 3

oracle - 在 case 语句中返回 bool 值

asp.net-mvc - MVC 5 Entity Framework 6 执行存储过程

用于准备语句的 MySQL 存储过程游标

sql - 存储过程和用户​​定义函数之间的区别

asp.net-mvc - 如何查看 mvc 应用程序中的所有 View

java - 如何从 oracle 触发器中调用 java 类?

java - 关于从 Oracle Forms UI 迁移到 JSP 的建议

sql - oracle将两列不同值组合成多列