cervantes | Salut,
je souhaite appeler une Oracle stored procedure d'un package avec un Number et un cursor en parametre pour cette-ci.
J'utilise Enterprise Library June 2005 - .Net 1.1 et Oracle 10g
Voici le bout de code qui pose probleme
Code :
- Database db = DatabaseFactory.CreateDatabase(sDatabaseInstance);
- DBCommandWrapper dbCommandWrapper = db.GetStoredProcCommandWrapper("phone_directory_pkg.sp_Emp_Directory_GetEmpInfo" );
- // Parameter in.
- OracleParameter par_in = new OracleParameter("p_PersonIdNo", OracleType.Int32, 30000, ParameterDirection.Input, false, 0, 0, String.Empty, DataRowVersion.Default, Convert.ToInt32(this.txtPidNumber.Text.Trim()));
- // Parameter out.
- OracleParameter par_out = new OracleParameter("emp_ref_cursor", OracleType.Cursor, 30000, ParameterDirection.Output, true, 0, 0, String.Empty, DataRowVersion.Default, Convert.DBNull);
- dbCommandWrapper.AddInParameter(par_in.ParameterName, par_in.DbType, par_in.Value);
- dbCommandWrapper.AddOutParameter(par_out.ParameterName, par_out.DbType, par_out.Size);
- DataSet ds = db.ExecuteDataSet(dbCommandWrapper);
|
Jai cette erreur une fois le code executé:
Code :
- Error Message: ORA-06550: line 1, column 7:
- PLS-00306: wrong number or types of arguments in call to 'SP_EMP_DIRECTORY_GETEMPINFO'
- ORA-06550: line 1, column 7:
- PL/SQL: Statement ignored
|
La procedure est declarée comme ceci:
Citation :
TYPE employee_type IS REF CURSOR;
PROCEDURE sp_Emp_Directory_GetEmpInfo(p_PersonIdNo IN NUMBER, emp_ref_cursor OUT employee_type);
|
Quelqu'un a déjà eu cette erreur?
Merci d'avance pour l'aide
a+ |