title: ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments
body: <p>I have problem with calling store procedure on Oracle 11g server.</p>
  
  <p><strong>stored procedure</strong></p>
  
  <pre><code>PROCEDURE get_rit_by_user_id(KDC_KEY      IN VARCHAR2,
                               p_id_utente IN NUMBER,
                               p_cur_out   OUT type_cursor) IS
    BEGIN
      ...
      ...
      ...
    END
  </code></pre>
  
  <p><strong>c# code</strong></p>
  
  <pre><code>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();
  </code></pre>
  
  <p><code>cmd.ExecuteReader()</code> throws this exception:</p>
  
  <blockquote>
    <p>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</p>
  </blockquote>
  
  <p>What is wrong with the above code that it gets a <code>wrong number of types of arguments</code> error?</p>