【发布时间】:2018-10-21 14:44:55
【问题描述】:
我有一个在 Weblogic 服务器上运行的 Oracle Forms 11 g 应用程序。默认的表单/登录页面有一些根本不会触发的 PL/SQL 触发器。其余的配置似乎成功了。
谁能告诉我从哪里开始寻找?提前致谢。
【问题讨论】:
-
告诉我们哪些触发器没有触发。
标签: oracle plsql weblogic oracleforms
我有一个在 Weblogic 服务器上运行的 Oracle Forms 11 g 应用程序。默认的表单/登录页面有一些根本不会触发的 PL/SQL 触发器。其余的配置似乎成功了。
谁能告诉我从哪里开始寻找?提前致谢。
【问题讨论】:
标签: oracle plsql weblogic oracleforms
顾名思义,triggers 在有东西触发它们时触发。例如,
WHEN-BUTTON-PRESSED 触发器POST-QUERY 触发器WHEN-NEW-FORM-INSTANCE 触发器在表单运行时触发等等。
因此,请确保触发器确实被触发。你拥有它们并不意味着它们会运行,只是因为。
为了找出答案,您有两种选择:
WHEN-NEW-FORM-INSTANCE 中)通过右键单击其左边距来设置断点(您将看到下一步该做什么)WHEN OTHERS THEN NULL 或类似东西的异常处理程序?如果是这样,请摆脱它们。即使引发了异常(例如 NO_DATA_FOUND 或 TOO_MANY_ROWS,仅提及两个最流行和频繁的异常),THEN NULL 也会默默地掩盖它另一种是将MESSAGE调用放入触发器中,如
begin
message('running WBP trigger: step 1');
... the rest of your code goes here
end;
这样做,message-after-message 将在屏幕上发出“警报”(因为您必须单击 OK 才能看到它所说的内容),并且您会很快看到哪些触发器被触发,哪些没有被触发.然后进一步调查 - 前面描述的调试会有所帮助。
如果这些都没有帮助,您将不得不描述发生了什么,但这次提供更多信息。你写的不是很详细。无论如何,祝你好运。
【讨论】: