Salut,

je souhaite appeler une Oracle stored procedure d'un package avec un Number et un cursor en parametre pour cette sp.

J'utilise Enterprise Library June 2005 - .Net 1.1 et Oracle 10g
Voici mon bout de code qui pose probleme

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
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é:

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é comme ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
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+