Oracle.DataAccess:使用自定义类型调用存储过程

时间:2014-02-25 23:49:51

标签: .net oracle stored-procedures

从.NET应用程序中获取第三方oracle存储过程中的数据时遇到了困难。

以下是程序标题:

PROCEDURE myProc(in_n IN NUMBER DEFAULT NULL,
                 in_wid IN VARCHAR2, 
                 out_Status OUT TMP_RetVal)

其中

TYPE TMP_RetVal IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;

我尝试了几种不同的DbTypes,即:

public static void Execute(int id, string whId)
{
     using (var connection = new OracleConnection(ConfigurationManager.ConnectionStrings["oracleConn"].ConnectionString))
        {
            connection.Open();
            OracleCommand cmd = new OracleCommand("DBO.myPack.myProc", connection);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("in_n", id);
            cmd.Parameters.Add("in_wid", whId,);
            var res = new OracleParameter("out_Status", OracleDbType.Int32, ParameterDirection.Output);
            res.Size = 1;

            cmd.Parameters.Add(res);
            cmd.ExecuteNonQuery();
        }

}

对于这种特殊情况,输入和输出参数的DbTypes应该是什么?

致以最诚挚的问候和非常感谢帮助

0 个答案:

没有答案
相关问题