当前位置:我的异常网» Java Web开发 » JAVA调用ORACLE存储过程报错

JAVA调用ORACLE存储过程报错

www.myexceptions.net  网友分享于:2015-07-12  浏览:0次

JAVA调用ORACLE存储过程出错

public void unpack(String pc,String xqdm)throws SQLException {

Session session =  getHibernateTemplate().getSessionFactory().getCurrentSession();

Connection conn = session.connection();

//CallableStatement cstmt = null;

try {

CallableStatement cstmt = conn.prepareCall("{Call PKG_I_DFXM.PRC_I_NBBPCF(?,?,?,?,?)");

cstmt.setString(1, pc);

cstmt.setString(2, xqdm);

cstmt.setString(3, "n");

cstmt.registerOutParameter(4, OracleTypes.NUMBER);

cstmt.registerOutParameter(5, OracleTypes.VARCHAR);

cstmt.execute();

//int xcode = cstmt.getInt(4);

//String errormsg = cstmt.getString(5);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

错误代码

java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.StringIndexOutOfBoundsException: String index out of range: 40

at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)

at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)

at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:62)

at com.mchange.v2.c3p0.impl.NewPooledConnection.handleThrowable(NewPooledConnection.java:432)

at com.mchange.v2.c3p0.impl.NewProxyCallableStatement.execute(NewProxyCallableStatement.java:3058)

at com.qymgr.report.dao.BPUnPackDao.unpack(BPUnPackDao.java:33)

at com.qymgr.report.manager.impl.BPUnpackMngImpl.unPack(BPUnpackMngImpl.java:18)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

at com.sun.proxy.$Proxy18.unPack(Unknown Source)

at com.qymgr.report.action.BPUnpackAct.unPack(BPUnpackAct.java:87)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:212)

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:629)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:590)

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:874)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:790)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 40

at java.lang.String.charAt(Unknown Source)

at oracle.jdbc.driver.OracleSql.handleODBC(OracleSql.java:1113)

at oracle.jdbc.driver.OracleSql.parse(OracleSql.java:1031)

at oracle.jdbc.driver.OracleSql.getSql(OracleSql.java:312)

at oracle.jdbc.driver.OracleSql.getSqlBytes(OracleSql.java:591)

at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:204)

at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:969)

at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190)

at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)

at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3476)

at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4400)

at com.mchange.v2.c3p0.impl.NewProxyCallableStatement.execute(NewProxyCallableStatement.java:3044)

... 53 more

12:08:19.390 ERROR com.qymgr.core.exception.ExceptionHandler - null

java.lang.NullPointerException: null

at oracle.jdbc.driver.T4C8Oall.getNumRows(T4C8Oall.java:876) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]

at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:975) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]

at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]

at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]

at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3476) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]

at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4400) ~[ojdbc14.jar:Oracle JDBC Driver version - "10.2.0.4.0"]

at com.mchange.v2.c3p0.impl.NewProxyCallableStatement.execute(NewProxyCallableStatement.java:3044) ~[c3p0-0.9.1.2.jar:0.9.1.2]

at com.qymgr.report.dao.BPUnPackDao.unpack(BPUnPackDao.java:33) ~[BPUnPackDao.class:na]

at com.qymgr.report.manager.impl.BPUnpackMngImpl.unPack(BPUnpackMngImpl.java:18) ~[BPUnpackMngImpl.class:na]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_75]

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_75]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_75]

at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_75]

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) ~[org.springframework.aop-3.1.0.RC1.jar:3.1.0.RC1]

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[org.springframework.aop-3.1.0.RC1.jar:3.1.0.RC1]

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[org.springframework.aop-3.1.0.RC1.jar:3.1.0.RC1]

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) ~[org.springframework.transaction-3.1.0.RC1.jar:3.1.0.RC1]

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[org.springframework.aop-3.1.0.RC1.jar:3.1.0.RC1]

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) ~[org.springframework.aop-3.1.0.RC1.jar:3.1.0.RC1]

at com.sun.proxy.$Proxy18.unPack(Unknown Source) ~[na:na]

at com.qymgr.report.action.BPUnpackAct.unPack(BPUnpackAct.java:87) ~[BPUnpackAct.class:na]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_75]

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_75]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_75]

at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_75]

------解决思路----------------------

传参数是不是应该从0开始,我也没用过存储过程

文章评论

java调用oracle过程,JAVA调用ORACLE存储过程报错相关推荐

  1. ​Mirth调用存储过程报错ORA-01861: 文字与格式字符串不匹配​

    Mirth调用存储过程报错.ORA-01861: 文字与格式字符串不匹配 这种绝对是日期的错误,要进行日期格式转换,具体呢需要自己一步步测试 上业务场景 function func_CreateCar ...

  2. 金蝶osf接口开发_调用OSF接口取待办任务总数报错!急

    总部老师,好: 在调用OSF接口取待办任务总数报错 Method failed: HTTP/1.1 404 Not Found org.apache.commons.httpclient.HttpEx ...

  3. oracle lms进程 内存,【案例】Oracle ges resource消耗内存高报错ORA-04031 MOS解决办法...

    天萃荷净 Oracle研究中心案例分析:运维DBA反映Oracle数据库10.2.0.4.12每间隔一段时间就必须重启,运行一断时间报ORA-04031错误oracle ges res cache l ...

  4. %@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”% 报错!!!!JSP

    写JSP项目时<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>报错 删 ...

  5. oracle tnsping 怎么用,oracle 11.2.0 tnsping ORCL; 报错,该如何解决

    oracle 11.2.0 tnsping ORCL; 报错,该如何解决 oracle 11.2.0 tnsping ORCL; 报错,该如何解决 日期:2014-05-17 浏览次数:20530 次 ...

  6. sqlserver存储过程报错:当前事务无法提交,而且无法支持写入日志文件的操作。请回滚该事务

    请仔细分析这句话 : 是普通的insert 语句,还是在存储过程中的insert语句呢?如果是存储过程中的语句,可能是因为:sqlserver存储过程报错:当前事务无法提交,而且无法支持写入日志文件的 ...

  7. weblogic不能启动的解决方案;发现启动过程中AdminServer.lok文件报错,导致weblogic不能启动

    1.问题现象 weblogic不能正常访问:节点2启动双机可以带起weblogic文件系统也能带起服务IP但不能带起weblogic服务. 2.问题解决 1) 手动启动weblogic脚本,发现启动过 ...

  8. java 调用存储过程 无效的列索引_JAVA 调用存储过程报错 java.sql.SQLException: 无效的列索引...

    报错信息java.sql.SQLException:无效的列索引atoracle.jdbc.driver.OracleCallableStatement.registerOutParameterInt ...

  9. oracle存储过程报错 跳过,oracle调试存储过程的过程详解

    oracle调试存储过程的过程详解 oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么可以存储过程的调试功能 先按简单的存储过程做个例子,就是上次做的存储过程(proc_test) 1 ...

最新文章

  1. IDEA - 解决 Maven 初始化配置 web.xml 为 2.3 的问题
  2. 学英语不必太在意单词
  3. 文巾解题383. 赎金信
  4. boost::detail::lightweight_mutex相关的测试程序
  5. 160523、Oracle建立表空间和用户
  6. Teams 的逻辑架构与语音解决方案 - Official Posters Download
  7. 大数据(1)---大数据全系技术概览
  8. java jdbc jar包_通过 Spring 框架如何进行JDBC操作呢?
  9. PostgreSQL的checkpoint能否并行
  10. Win10中小娜无法搜索本地应用
  11. kafka 0.8.2版本配置选项翻译
  12. NornJ-javascript模版引擎
  13. python画点位变化向量图
  14. Python学习 --- 列表
  15. “char”知多少。
  16. 数据可视化第4篇:安装linux操作系统6系列
  17. ORA-03113和ORA-00204问题处理
  18. 自动化测试 | Selenium自动化测试框架,实战遇到的坑都在这了,玩转自动化测试
  19. 小程序tab选项卡请求我的订单数据筛选处理(待收货、代发货、已完成等)
  20. 【教程】搜索引擎高级语法

热门文章

  1. 形式逻辑(05)假言判断 和 推理
  2. 10分钟带你彻底搞懂服务限流和服务降级
  3. python小玩意——创建文件夹
  4. Oulipo(欧力波)(经典kmp模板题) HDU-1686
  5. 示波器探头基本知识详解
  6. 教师计算机培训心得博客,教师研修心得体会博客
  7. 新浪nbsp;UTnbsp;将于nbsp;6月30日起停止服务
  8. Windows系统设置自动开机
  9. 利用LDA和主题模型发现9种冠状病毒研究趋势
  10. V3S-Zero 网络篇章 Linux5.2