Xin chào, tôi gặp sự cố khi gọi thủ tục lưu trữ trên máy chủ Oracle 11g.ORA-06550: dòng 1, cột 7: PLS-00306: số sai hoặc loại đối số
đây là thủ tục lưu trữ của tôi
PROCEDURE get_rit_by_user_id(KDC_KEY IN VARCHAR2,
p_id_utente IN NUMBER,
p_cur_out OUT type_cursor) IS
BEGIN
...
...
...
END
này là C# mã của tôi
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() ném ngoại lệ này
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'GET_RIT_BY_USER_ID'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Tôi không thể nhìn thấy bất cứ điều gì sai trong mã C# của tôi. Bạn sẽ giúp tôi chứ? nhờ
Trân trọng
Tôi bỏ lỡ biến p_id_utente trong danh sách các tham số (bạn có P_USER). Hai người còn lại ở đó. – Independent
đây không phải là vấn đề, tôi đã kiểm tra tất cả các tên của các tham số –
Bạn đã xem câu hỏi SO này: http://stackoverflow.com/questions/6360244/how-to-call-an-oracle-function- với tham số-a-ref-cursor-as-out-tham số-từ-c – DCookie