jsp页面调用oracle存储过程为什么总是报ORA-08103: object no longer exists 错误提示呢?

问题描述

jsp页面调用oracle存储过程为什么总是报ORA-08103:objectnolongerexists错误提示呢?调用代码:{callINDI_QUERY_AAA(?)}我在别的贴上看到这样答案:就是如果oracle存储过程中有insert,update,delete这些语句并且有返回cursor这样的类型,需要显式设置conn.setAutoCommit(false),在调用过程后设置为conn.setAutoCommit(true);就可以了。我的存储过程中也有insert,update,delete这些语句并且有返回cursor这样的类型,但我不知道怎么编写方法来设置:conn.setAutoCommit(true);请各位java高手们帮忙帮忙,谢谢了各位!

解决方案

解决方案二:
ORA-08103:objectnolongerexists跟auto不autocommit没有鸟毛关系。这个错误是因为你调用的某个对象不存在!!!检查当前用户下是否存在你那个存储过程!如果存在在其他用户下,需要callotherUser.存储过程!
解决方案三:
当前用户下是存在那个存储过程的!因为我们都可以查询到存储过程的字段列出来了,就是数据不出来。点预览数据的时候就提示以上的错误。
解决方案四:
是不是使用了临时表?是不是在存储过程总使用了commit??把你的存储过程拿来晒晒。。
解决方案五:
是用了临时表了。以下是调用的存储过程,这个里面还有调用另外一个存储过程,另外一个太长了。createorreplaceprocedureindi_query_AAA(p_cursoroutpak_return_procdata.cur_returndata)isv_rownubenumber;v_rownube_charvarchar2(100);v_indiobjidvarchar2(100);CURSORp_indiobjidISselectt.indiobjidfromindi_t_indibilldetailtwheret.billtypeobjid='3001096700000001'andrownum<=3ORDERBYt.indiobjid;BEGINDBMS_OUTPUT.ENABLE(1000000000);OPENp_indiobjid;v_rownube:=0;LOOPv_rownube:=v_rownube+1;v_rownube_char:=right('01000'||to_char(v_rownube),5);FETCHp_indiobjidINTOv_indiobjid;EXITWHENp_indiobjid%NOTFOUND;indi_query_NN(v_rownube_char,v_indiobjid,'','0');dbms_output.put_line(v_indiobjid);ENDLOOP;openp_cursorforselect*fromTEMP_AAA;CLOSEp_indiobjid;END;
解决方案六:
然后我在页面上就需要调用这存储过程,得到结果显示出来就可以了。当调用这个存储过程的时候,就会报那样的错误。
解决方案七:
临时表的建表语句看看。还有conn.setAutoCommit(false);指的是在java中调用存储过程之前,获得连接之后,马上做这个。

时间: 2024-09-20 00:07:34

jsp页面调用oracle存储过程为什么总是报ORA-08103: object no longer exists 错误提示呢?的相关文章

Jsp中调用Oracle存储过程的小例子

js|oracle|存储过程 以下的例子转自csdn论坛: *执行一条insert语句并传参数*/create or replace procedure p_test2(i in number) asbegininsert into t values (i,'x'||to_char(i));commit;end;/ <%@ page language="java" contentType="text/html;charset=gb2312"%><%

weblogic连接池-Java调用Oracle存储过程传入数组参数报错

问题描述 Java调用Oracle存储过程传入数组参数报错 weblogic连接池 JNDI提供的链接保存 Oracle数组 报错 oracle.jdbc.driver.T4CConnection cannot be cast to oracle.jdbc.OracleConnection oracle.jdbc.driver.T4CConnection cannot be cast to oracle.jdbc.OracleConnection 大家好,我在用weblogic连接池 JNDI

mybatis调用oracle存储过程报错

问题描述 mybatis调用oracle存储过程报错 错误如下 java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须声明标识符 'DOINENTITYDATA' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored -- 替换或创建存储过程 CREATE OR REPLACE PROCEDURE doInentityData as --声明游标 存储ODS的有效数据 CURSOR

jsp中调用Bean,然后在Bean中调用oracle存储过程

新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底. 最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了.言归正传. 建立一个登录系统,要求达到以下目的. 1.用户通过Bean来认证以及得到得到用户信息. 2.记录用户登录信息,如用户登录次数,最后登录时间. 3.记录操作日志. 未解决及疑惑的问题: 1.用户登录后的Session是否可以通过Bean来判断. 2.通过Bean调用ORACLE存储过程,返回select后的记录集. 操作步骤:

jsp中调用Bean,然后在Bean中调用oracle存储过程。

js|oracle|存储过程 新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底.      最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了. 言归正传.      建立一个登录系统,要求达到以下目的.      1.用户通过Bean来认证以及得到得到用户信息.      2.记录用户登录信息,如用户登录次数,最后登录时间.      3.记录操作日志.     未解决及疑惑的问题:     1.用户登录后的Session是否可以通过B

jsp中调用Bean然后在Bean中调用oracle存储过程

新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底. 最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了.言归正传. 建立一个登录系统,要求达到以下目的. 1.用户通过Bean来认证以及得到得到用户信息. 2.记录用户登录信息,如用户登录次数,最后登录时间. 3.记录操作日志. 未解决及疑惑的问题: 1.用户登录后的Session是否可以通过Bean来判断. 2.通过Bean调用ORACLE存储过程,返回select后的记录集. 操作步骤:

java-并发调用oracle存储过程

问题描述 并发调用oracle存储过程 CREATE OR REPLACE PROCEDURE MAN_ACCOUNT_MRGREDATE_INSERT (v_sellerid in varchar2, v_professtype in varchar2, v_plattype in varchar2, v_margin in varchar2, v_saleamount in varchar2, v_priceamount in varchar2, v_serviceCharge in var

c# net-c#.net 调用oracle存储过程,不能正常回滚

问题描述 c#.net 调用oracle存储过程,不能正常回滚 本人是个小菜,刚接触.net不久,使用事务不熟练,导致回滚失败.下面是代码: enter code here using (OracleConnection conn = new OracleConnection(strConn)) { if (conn.State != ConnectionState.Open) { conn.Open(); } OracleCommand cmd = conn.CreateCommand();

关于调用oracle存储过程

问题描述 关于调用oracle存储过程 这样调用 CallableStatement c=conn.prepareCall("{call smi.CallReport.sp_RptCallCenterStat(?,?,?,?,?,?,?,?)}"); c.setString(1, "2014-10-11"); c.setString(2, "2015-11-11"); c.setInt(3, 301); c.setString(4, "