Bonjour

Je dois appeller une procédure Stockée Oracle
J'utilise System.Data.OracleClient et toutes les classes où Oracle apparait dans le nom :
OracleConnexion
OracleCommand

2 cas de figure se présentent,

  1. une procédure sans paramètre ==> genre oracleSqlCommande.Statement = "P_Maj_Auto1( )";
    ok ça passe, ma mise à jour se fait.
  2. une procédure avec paramètre ==> genre oracleSqlCommande.Statement = "P_Maj_Auto2( :num )";

    Ca ne passe pas, ça déclenche l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    System.Data.OracleClient.OracleException: ORA-06550: line 1, column 7:
    PLS-00801: internal error [22503]
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
     
       à System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
       à System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
       à System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor)
       à System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
       à com.lfdj.Oracle.DML.OracleDML.Execute() dans C:\Projets\Oracle\Oracle\DML\OracleDML.cs:ligne 378
     
    mon paramètre est de type Number (Oracle)


Quelqu'un a une idée ?