在Spring webapp +中的石英作业中调用Oracle存储过程+ SP不能提供一致的结果

时间:2015-12-17 15:03:33

标签: java stored-procedures quartz-scheduler

我有一个Spring webapp,它基本上是一个监控应用程序。应用程序中定义了各种KPI,我使用Quartz框架来定期运行这些KPI。其中一个Quartz Job调用Oracle存储过程(带有一个输入和一个输出参数)。我正在使用JDBC Callable Statement从作业中调用SP。存储过程如此编写,以便在出现任何异常时返回0.

我面临的问题是从JAVA到此存储过程的调用没有给出一致的结果。有时,procdeure会返回正确的结果,有时会导致结果为0.但是如果我直接在SQLDeveloper中运行SP,那么它运行得很好。

我已经调试了很多,但没有找到任何东西。它是与SP的异步/异步运行相关的东西,还是用于执行SP的连接对象的一些问题。我只需要一些可以用来继续调试的指针。

感谢。

1 个答案:

答案 0 :(得分:0)

只有2美分的建议。如果没有错误返回0,为什么不返回真正的错误代码(签名否定)?

例如,ORA-01401将返回-1401。

通过这种方式,您将能够确定错误的真正原因(如果它来自服务器或客户端)。

的问候。 克里斯蒂安(我是法国人,抱歉我的法语;-))