我有一个看起来像这样的Pl/Sql过程签名C#和PlSql光标
foo(param1 IN type1, param2 IN type1, c OUT REF CURSOR)
。
这个存储过程在C#中被调用。在C#代码中,我用这个游标填充一个DataTable。我想知道光标什么时候会关闭。
我应该关闭它在SP?在代码中?或者当我调用Dispose方法时(因为它没有Close方法),OracleRefCursor会关闭它?
感谢
编辑:下面是代码的一些例子中,我使用
存储过程:
create or replace procedure foo1(param1 IN type1, param2 IN type1, c OUT REF CURSOR)
IS
BEGIN
OPEN c
FOR
SELECT x
FROM table;
END;
create or replace procedure foo2(param3 IN type1, param4 IN type1, c OUT REF CURSOR)
IS
temp type1 := param3;
x type1;
BEGIN
LOOP temp < param4
foo1(temp, param4, c);
FETCH c INTO x;
temp := temp +1;
END LOOP;
END;
感谢
你有一些使用c#和plsql游标的例子吗? 因为我最近发布了问题,最近没有人回答 – tga 2010-01-13 13:48:56
我已经添加了一些代码 – ALOToverflow 2010-01-13 14:04:21
你能告诉我一些c#样本吗?因为我在用DataReader从Cursor读取时遇到问题。有很多DataAdapter的例子,但没有DataReader的例子。提前Thanx。 – tga 2010-01-13 14:10:32