使用springframework SimpleJdbcCall捕获RAISE_APPLICATION_ERROR

问题描述 投票:0回答:1

我有一个调用的PL / SQL过程

RAISE_APPLICATION_ERROR (-20001, 'Illegal id');

如果出现问题。

这似乎起作用,因为该过程退出并在应有的情况下引发错误。

我使用]调用此过程>

simpleJdbcCall.execute(myargs)

但是当我捕获到异常时,它的类型为DataAccessException。原因是ORA-01403:找不到数据

似乎没有办法让我从RAISE_APPLICATION_ERROR呼叫中获取电话号码或消息。如何获得这些值?

我有一个PL / SQL过程,在其中调用RAISE_APPLICATION_ERROR(-20001,“非法ID”);如果有问题。这似乎可行,因为该过程退出并在应有的情况下引发错误。 ...

java plsql spring-jdbc simplejdbccall
1个回答
0
投票

我们在应用程序中执行相同的操作;但是,Spring应该将ORA-20001异常作为UncategorizedSQLException引入。如果您看到的是ORA-01403,那么我怀疑您的过程可能会以不同的方式失败:您确定Spring会处理与单元测试相同的参数吗?

© www.soinside.com 2019 - 2024. All rights reserved.