我是使用asp.net的很多返回DataSet的程序调用oracle的存储过程
很多存储过程是这样写的
create....
)as
begin
open 游标名 for
select * from A where ID=89;
end...;不知道这样写对不对,程序也没报错,也可以执行出结果,但是频繁的刷新网页后提示打开的游标过多,我这样写还需要关闭吗,能否详细讲解一下,谢谢
还有就是asp.net的 OracleDataReader 如何调用返回一条记录集的存储过程 谢谢 那位能帮帮忙,万分感激!!
很多存储过程是这样写的
create....
)as
begin
open 游标名 for
select * from A where ID=89;
end...;不知道这样写对不对,程序也没报错,也可以执行出结果,但是频繁的刷新网页后提示打开的游标过多,我这样写还需要关闭吗,能否详细讲解一下,谢谢
还有就是asp.net的 OracleDataReader 如何调用返回一条记录集的存储过程 谢谢 那位能帮帮忙,万分感激!!
)as
begin
open 游标名 for
select * from A where ID=89; close 游标名;
end...;
是这样关闭吗,我这样关闭有时候不知道怎么回是会报错啊,提示没有执行句柄
要解决,要么就是设置可以打开的cursor数目多一些(在OEM中配置),要么就是对SESSION的时间进行一些限制(SESSION完成之后,CURSOR是自动关闭的),以保证一段之间之内打开的CURSOR不会太多。
FOR 游标变量 IN 游标名 LOOP...
END LOOP ;
这样可以自行关闭游标。