0

simple.data 如何执行 oracle 包??OracleParameter p1=new OracleParameter("mycs",OracleType.Cursor); 创建或替换包 pkg_members AS TYPE myrctype IS REF CURSOR;

    PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);
END pkg_members;

.

CREATE OR REPLACE PACKAGE BODY pkg_members

AS
    PROCEDURE get (p_id NUMBER, p_rc OUT myrctype)
    IS
       sqlstr   VARCHAR2 (500);
    BEGIN
       IF p_id = 0 THEN
          OPEN p_rc FOR
             SELECT *
               FROM members;
       ELSE
          sqlstr :=
             'select *
            from members where id=:p_id';
          OPEN p_rc FOR sqlstr USING p_id;
       END IF;
    END get;
END pkg_members; 

* *当我这样做时:DbContext.Open().pkg_members__get(12); 下面的错误:Simple.Data.Ado.AdoAdapterException:ORA-06550:第 1 行,第 7 列:PLS-00306:调用“get”时参数的数量或类型错误 ORA-06550:第 1 行,第 7 列:PL/SQL : 语句被忽略**

4

1 回答 1

0

Simple.Data 不知道 Oracle 包(我也不知道)。这听起来像是非常特定于数据库的东西,因此超出了跨平台数据访问库的范围。

于 2013-08-20T22:02:54.140 回答