Oracle仓库构建器(owb)评估流程中的存储过程结果

时间:2013-10-28 22:55:42

标签: oracle data-warehouse oracle-warehouse-builder

我有一个由之前的人建立的流程,它调用一个非常简单的存储过程。在完成该过程后,处理流程有2个转换,一个是存储过程成功,另一个是否成功。但是,存储过程本身不会返回任何可由流程流直接评估的内容,如返回结果。现在这个程序如果失败(具有无处不在的max extants问题),它将调用分支,该分支将调用存储过程来发送失败的电子邮件消息。如果成功则会发生相反的情况。

我不得不调整程序,所以我创建了一个新程序。现在,如果它失败或成功,则无论如何调用成功分支。我已经检查了来自oracle的所有文档,以了解如何使这项工作,并为我的生活无法确定如何使其正常工作。我首先在oracle论坛上发布了这个并没有得到回应。有谁知道如何使这项工作?

2 个答案:

答案 0 :(得分:0)

  

“但是,存储过程本身不会返回任何内容   可以通过流程直接评估,如返回结果。“

这就是关键:如果操作程序程序没有信号,你怎么知道它是否成功?实际上,在这种情况下成功的定义是什么?

我不明白为什么,当你不得不“调整程序”时,你写了一个新的,而不是,呃,调整原始程序。您要解决此问题的唯一方法是从原始程序中获得一些反馈。

此时我们已经没有了细节。直接选项是编辑原始过程,以便它可能通过OUT参数传递结果信息,或者通过引入一些记录功能。或者,重写它以在失败时引发异常。间接选项是编写一些查询来确定程序在给定运行中实现的内容,然后确定这是否构成成功。

就个人而言,重写原始程序似乎是更好的选择。


如果此答案对您没有帮助,那么您需要详细了解您的方案。你的程序做了什么,你需要如何评估它,为什么你不能重写它。

答案 1 :(得分:0)

根据Oracle Warehouse Builder指南:

  

向画布添加过渡时,默认情况下,过渡没有应用条件。

确保您已按照文档的Defining Transition Conditions部分所述正确定义了条件转换。

如果出现以下情况,用户定义的活动将返回ERROR结果

  1. 它引发了异常,或者
  2. 返回值3Use Return as Status选项设置为true