使用C#

时间:2017-06-01 09:32:13

标签: c# oracle plsql plsqldeveloper

我是Oracle的新手,我想构建一个从返回REF_CURSOR获取列的解决方案,并且在DB上创建数据库对象有一些限制, 所以我想运行存储过程并在C#脚本中返回REF_CURSOR数据。

1 个答案:

答案 0 :(得分:0)

您的后端程序可能是这样的:

procedure my_proc(
    p_id in number,
    p_cursor out sys_refcursor
) is
begin
    open p_cursor for
       select  col1, col2, col3
       from my_table
       where id = p_id;
end my_proc;

然后在您的C#脚本中声明2参数调用,将第二个参数设置为输出(direction = ParameterDirection.Output)并键入OracleDbType.RefCursor(记住添加名称空间'Oracle.DataAccess.Client'和'Oracle。 DataAccess.Types'在对象/类的开头)。

不要忘记关闭数据阅读器以及你的连接,否则你的DBA会用红眼睛和血腥的尖牙敲门。