Utiliser Enterprise Library avec Oracle Stored Procedure

Utiliser Enterprise Library avec Oracle Stored Procedure - C#/.NET managed - Programmation

Marsh Posté le 24-10-2008 à 12:27:14    

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 :
  1. Database db = DatabaseFactory.CreateDatabase(sDatabaseInstance);
  2. DBCommandWrapper dbCommandWrapper = db.GetStoredProcCommandWrapper("phone_directory_pkg.sp_Emp_Directory_GetEmpInfo" );
  3. // Parameter in.
  4. 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()));
  5. // Parameter out.
  6. OracleParameter par_out = new OracleParameter("emp_ref_cursor", OracleType.Cursor, 30000, ParameterDirection.Output, true, 0, 0, String.Empty, DataRowVersion.Default, Convert.DBNull);
  7. dbCommandWrapper.AddInParameter(par_in.ParameterName, par_in.DbType, par_in.Value);
  8. dbCommandWrapper.AddOutParameter(par_out.ParameterName, par_out.DbType, par_out.Size);
  9. DataSet ds = db.ExecuteDataSet(dbCommandWrapper);


 
Jai cette erreur une fois le code executé:
 

Code :
  1. Error Message: ORA-06550: line 1, column 7:
  2. PLS-00306: wrong number or types of arguments in call to 'SP_EMP_DIRECTORY_GETEMPINFO'
  3. ORA-06550: line 1, column 7:
  4. 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+

Reply

Marsh Posté le 24-10-2008 à 12:27:14   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed