Spring StoredProcedure调用Oracle函数各种异常解决方法

Spring StoredProcedure调用Oracle函数各种异常解决方法其实也不是各种异常解决方法,只是出现了太多的异常我实在不知道有哪些,下面列举一下吧:1.PLS-00306:wrongnumberortypesofargumentsincallto’QUERYUSER’ORA-06550:line1,column7:PL/SQL:Statementignored原因:这个问题是少参数,或者类型不对,我的原因是函数的…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

其实也不是各种异常解决方法,只是出现了太多的异常我实在不知道有哪些,下面列举一下吧:

1.PLS-00306: wrong number or types of arguments in call to ‘QUERYUSER’
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

原因:这个问题是少参数,或者类型不对,我的原因是函数的返回值没有接收,也就是没有设置函数返回值的参数;

解决方法:加上个asp.addOutParameter(“n_Result”, Types.INTEGER);// 函数返回结果,就可以解决。

2.ORA-00604: error occurred at recursive SQL level 1
ORA-01003: no statement parsed

原因:这个问题是因为添加参数的顺序问题,我把接收返回值的参数放在了输出参数的前面,就出现了这样的异常,原因包你找死找不出来,

解决方法:将接收返回值参数的代码添加到所有参数的最前面就可以了

还有其他的问题其实也都是对于调用函数时的设置参数顺序的问题 各种不同顺序出现的一场可能不一样,而且这种异常你上网都找不出解决方案,现在总结下Spring StoredProcedure调用Oracle函数的参数设置顺序:

1.接收函数返回值的代码必须写在最前面

2.然后接下来就输入参数和输出参数,这个顺序必须和函数定义的参数顺序一致才行,不然又是各种不认识的异常

3.最好把输出参数写在最后面,当时第二点说了,顺序要和函数定义的参数顺序一致,所以建议函数定义的时候输出写在输入后面,我没尝试函数定义时输出写在输入前面,然后代码也同样顺序会不会出问题,有兴趣的自己尝试吧,我懒了。

当然当你遇到这些问题的时候这只是个参考,不能确保能解决你得问题,我只是把我遇到的问题记录下来,总之我是这样解决的,所以解决不了也不要来骂我啊惊讶

最后说一句Spring能不能智能点 这种坑爹的问题都能出 太伤人了 设置参数的时候不是给了参数名吗 干嘛还要这么纠结参数顺序啊 而且也没有哪里提到过抓狂

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/164510.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号