我在 Oracle 11g 服务器上调用存储过程时遇到问题。
存储过程
PROCEDURE get_rit_by_user_id(KDC_KEY IN VARCHAR2,
p_id_utente IN NUMBER,
p_cur_out OUT type_cursor) IS
BEGIN
...
...
...
END
c# 代码
OracleCommand cmd = new OracleCommand();
cmd.Connection = oracleConnection;
cmd.CommandText = userIdEsercizio + packageName + "GET_RIT_BY_USER_ID";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("KDC_KEY", OracleDbType.Varchar2, kdcKey, ParameterDirection.Input);
cmd.Parameters.Add("P_ID_UTENTE", OracleDbType.Int32, user_id, ParameterDirection.Input);
cmd.Parameters.Add("P_CUR_OUT", OracleDbType.RefCursor, ParameterDirection.Output);
OracleDataReader reader = cmd.ExecuteReader();
cmd.ExecuteReader()
抛出此异常:
ORA-06550:第 1 行,第 7 列:PLS-00306:调用“GET_RIT_BY_USER_ID”时参数的数量或类型错误 ORA-06550:第 1 行,第 7 列:PL/SQL:语句被忽略
上面的代码有什么问题导致wrong number of types of arguments
错误?