如何查找Oracle Forms接口集成的PL / SQL程序

问题描述

我有以下问题:

一个Forms接口正在运行错误

ORA-04068:软件包()的现有状态已被丢弃。

我需要找到由Forms接口调用的PL / sql程序。有人可以告诉我如何找到它吗?

解决方法

该错误不一定是致命错误。例如,如果表单使用了已在其中添加新过程或函数的程序包,则只需重新编译表单即可使用。

但是,如果将新参数添加到从表单调用的过程中,则必须修改表单PL / SQL单元以反映这些更改(除非在末尾添加了新添加的参数)参数列表,默认设置为NULL。

所以:

  • 在Forms Builder中打开表单
  • 按下组合键重新编译( All )表单
  • 它将自动获取所有已存储的PL / SQL程序的更改
    • 阅读:您真的不必找出应该归咎于哪个;没关系
  • 创建.FMX文件
  • 运行表格
  • 如果一切正常(即,如果表单中使用的存储过程的描述未更改),则该表单将正常工作
    • 否则,它将失败,但是现在它会告诉您导致错误的原因,因此您可以对其进行调查

简而言之:重新编译表格。