从.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应该是什么?
致以最诚挚的问候和非常感谢帮助