我正在尝试将一个从 oracle 过程返回的 ref 游标返回到我的 .Net 应用程序,但我不断收到有关错误数量参数的错误。
oracle 过程具有以下参数:
PROCEDURE sp_user_list(pv_username IN VARCHAR2
,pn_result OUT NUMBER
,pv_error OUT VARCHAR2
,pref_user_list OUT SYS_REFCURSOR);
我的数据访问代码是:
public int GetUserID(string sUserName)
{
int iUserID = 0;
Database db = DatabaseFactory.CreateDatabase();
string sql = "pk_quality.sp_user_list";
DbCommand cmd = db.GetStoredProcCommand(sql);
db.AddInParameter(cmd, "pv_username", DbType.String, sUserName);
db.AddOutParameter(cmd, "pn_result", DbType.Int32, 2);
db.AddOutParameter(cmd, "pv_error", DbType.String, 500);
using (IDataReader dataReader = db.ExecuteReader(cmd))
{
while (dataReader.Read())
{
iUserID = int.Parse(dataReader["user_id"].ToString());
}
}
return iUserID;
}
似乎没有任何 ref cursor dbtype 允许我添加一个 out 参数来处理 ref 游标。难道我做错了什么?