开发者社区> 问答> 正文

myBatis 调用oracle存储过程报错?报错

我用myBatis 调用一个有多个参数+多个返回参数+一个游标 oracle存储过程,存储过程中有判断如果某个参数不正确,则直接返回不执行游标查询。这个时候myBatis会抛异常:

### Cause: java.sql.SQLException: Ref 娓告爣鏃犳晥
; uncategorized SQLException for SQL []; SQL state [null]; error code [17062]; Ref 娓告爣鏃犳晥; nested exception is java.sql.SQLException: Ref 娓告爣鏃犳晥
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:368)
    at $Proxy4.selectOne(Unknown Source)
    at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:163)
    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63)


求教大神该如何解决

展开
收起
爱吃鱼的程序员 2020-06-22 13:28:56 1069 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    咋没人回复呢

    不要用任何和ORM相关的封装

    所有ORM相关的封装,都是根据mysql来封装的

    mysql不是数据库

    所以任何的ORM都不能完整的支持数据库的操作

    楼主提到的是你最钟爱的Oracle,你是不是反应过激了,呵呵

    回复<aclass='referer'target='_blank'>@xmut: 正是因为用了oracle或者其他任何真正的数据库

    都会被这些框架困扰。 

    这些数据库框架的设计者,基本上都被mysqlFK过了。 

    <divclass="ref">

    引用来自“宏哥”的答案

    <divclass=ref_body>

    不要用任何和ORM相关的封装

    所有ORM相关的封装,都是根据mysql来封装的

    mysql不是数据库

    所以任何的ORM都不能完整的支持数据库的操作

    1.找到异常的存储过程。在数据库端执行。看会不会报异常。

    2.如果1返回true.那么你再检查。你用来接收的类型是什么类型.<至少是一个集合类型> 原因不用我多少了吧.. 

     自己检查下. 

    我在接收map里面给的类型是CURSOR,当存储过程中游标从来没开启过时,mybatis读取返回值是就出错了。

    2020-06-22 13:29:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关实验场景

更多

相关镜像