ORA-06550 wrong number or types of arguments when calling Oracle stored procedure?

Up vote 2 down vote favorite share g+ share fb share tw.

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: 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 Stored procedure looks like this: PROCEDURE stored_procedure_name ( p_passwd IN VARCHAR2, p_salt IN VARCHAR2, p_saltedhash_passwd OUT VARCHAR2 ) My 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);` c# asp.net .net oracle ora-06550 link|improve this question edited Nov 10 '11 at 19:40p.

Campbell28.8k858125 asked Nov 10 '11 at 19:39Geekender526 62% accept rate.

It would seem a good idea to specify OracleDbType. Varchar2 for the first 2 params as well. I doubt it is the default and wouldn't trust auto-conversion.

– Henk Holterman Nov 10 '11 at 19:53 This code works, but how do I input the values for p_passwd and p_salt? Right now the output is literally "Salt licked hash: p_saltedhash_passwd" – Geekender Nov 10 '11 at 20:07.

Change p_saltedhash_passwd. Direction = ParameterDirection. ReturnValue; to p_saltedhash_passwd.

Direction = ParameterDirection.Output.

Tried that but received ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at "SOME_FUNCTION_I_DON'T_RECOGNIZE", line 77 ORA-06512: at "SOME_FUNCTION_I_DON'T_RECOGNIZE", line 130 ORA-06512: at line 1 – Geekender Nov 10 '11 at 19:48 1 @Geekender I don't know enough about the procedure/function you are using to help there... from what I see you are using the officially deprecated OracleClient from MS which you should think about changing. – Yahia Nov 10 '11 at 19:50 I did change this line OracleParameter p_saltedhash_passwd = new OracleParameter("p_saltedhash_passwd", OracleDbType. Varchar2, 2000); And it sort of works.

Now it is printing something just not the data. I am using the Oracle.DataAccess. Client from Oracle.

– Geekender Nov 10 '11 at 19:53 @Geekender to print the output param p_saltedhash_passwd use p_saltedhash_passwd.Value.ToString() in the call to Response. Write – Yahia Nov 10 '11 at 20:16.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions