title: ORA-06550   wrong number or types of arguments when calling Oracle stored procedure
body: <p>Have been fighting this for two days and am very frustrated but feel like I am making progress.  After reviewing Oracle's online docs I am here.  Receiving the following error upon code execution:</p>
  
  <blockquote>
    <p>ORA-06550: line 1, column 15: PLS-00306: wrong number or types of arguments in call to 'P_SALTEDHASH' ORA-06550: line 1, column 7: PL/SQL: Statement ignored</p>
  </blockquote>
  
  <p>Stored procedure looks like this:</p>
  
  <pre><code>PROCEDURE stored_procedure_name ( p_passwd            IN  VARCHAR2,
                            p_salt              IN  VARCHAR2,
                            p_saltedhash_passwd OUT VARCHAR2
                          )
  </code></pre>
  
  <p>My code:</p>
  
  <pre><code>        string stored_procedure_name = "stored_procedure_name";
  
          // create the command object
          OracleCommand cmd = conn.CreateCommand();
          cmd.Connection = conn;
          cmd.CommandType = CommandType.StoredProcedure;
          cmd.CommandText = stored_procedure_name;
          cmd.BindByName = true;
  
          //Oracle Parameters necessary for the p_saltedhash function          
          cmd.Parameters.Add("p_passwd", p_passwd);
          cmd.Parameters.Add("p_salt", p_salt);
  
          OracleParameter p_saltedhash_passwd = 
              new OracleParameter("p_saltedhash_passwd", OracleDbType.Varchar2);
          p_saltedhash_passwd.Direction = ParameterDirection.ReturnValue;
          cmd.Parameters.Add(p_saltedhash_passwd);
  
  
  
          // execute the pl/sql block
          cmd.ExecuteNonQuery();
  
          Response.Write("Pin hash is: " + p_saltedhash_passwd);`
  </code></pre>