oracle无法打开游标,net调用oracle的sp,使用系统游标返回记录集是总是报游标无法打开...

该博客讨论了一个PL/SQL存储过程在执行过程中遇到的问题,即在调用时出现ORA-24338错误,提示游标未打开。代码中创建了一个全局临时表并进行了数据插入,然后尝试打开游标。作者在调试时未发现错误,但在实际调用中异常发生。错误可能源于游标操作的时机或者资源管理方面的问题。
摘要由CSDN通过智能技术生成

问题如题。

使用的sp如下:

CREATE OR REPLACE PROCEDURE CIA.onerowsonelabelTest (

vSn in varchar2,

out1    OUT   sys_refcursor,

o_res   OUT   VARCHAR2

)

IS

tb_count    INT;

createsql   VARCHAR2 (1000)

:= 'CREATE GLOBAL TEMPORARY TABLE  CIA.TEMP_TABLE (templatename varchar2(2000) null,V1 varchar2(2000) null,V2 varchar2(2000) null) ON COMMIT  PRESERVE   ROWS  ';

BEGIN

--先判斷全局臨時表是否存在,?存在則重新建立:

SELECT COUNT (*)

INTO tb_count

FROM dba_tables

WHERE table_name = 'TEMP_TABLE';

IF tb_count = 0

THEN

EXECUTE IMMEDIATE 'grant create table to cia';

EXECUTE IMMEDIATE createsql;

END IF;

EXECUTE IMMEDIATE 'delete CIA.TEMP_TABLE';

EXECUTE IMMEDIATE 'insert into CIA.TEMP_TABLE values(:templatename,:V1,:V2)'

USING 'c1.Lab', vSn, 'Test infor。。';

open Out1 for SELECT * FROM CIA.TEMP_TABLE;

o_res := 'OK';

EXCEPTION

WHEN OTHERS

THEN

o_res := 'ERROR:' || o_res || ' ';

END onerowsonelabelTest;

以上的代码有调试均没有问题,但是在最近的调用中却出现异常,报错的信息就是,游标没有打开:

ORA-24338: 未執行敘述句處理

Void Print(System.String,

System.String, System.Collections.Generic.SortedList`2[System.String,System.String])

不知有能解决的没

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值