Bojour,

je souhaite appeler depuis un code C# la procédure run du package Oracle DBMS_JOB.
Voici mon code :

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
16
17
18
19
OracleCommand command = <MA CONNECTION ORACLE CLIENT>.CreateCommand();
command.CommandText = "DBMS_JOB.run";
command.CommandType = System.Data.CommandType.StoredProcedure;
 
OracleParameter p_job_id = new OracleParameter();
p_job_id.Value = <L'IDENTIFIANT DU JOB>;
p_job_id.ParameterName = "p_job_id";
p_job_id.OracleType = OracleType.Number;
p_job_id.Direction = System.Data.ParameterDirection.Input;
 
OracleParameter p_force = new OracleParameter();
p_force.Value = false;
p_force.ParameterName = "p_force";
p_force.OracleType = OracleType.Number;
p_force.Direction = System.Data.ParameterDirection.Input;
 
command.Parameters.Add(p_job_id);
command.Parameters.Add(p_force);
command.ExecuteScalar();
Quand je l'exécute, l'exception suivante est générée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
ORA-06550: Ligne 1, colonne 7 :
PLS-00306: numéro ou types d'arguments erronés dans appel à 'RUN'
ORA-06550: Ligne 1, colonne 7 :
PL/SQL: Statement ignored
Pourtant, la signature de la procédure DBMS_JOB.run est bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
DBMS_JOB.RUN( job    IN BINARY_INTEGER,
                      force  IN BOOLEAN DEFAULT FALSE);
Quelqu'un a une idée ?
Merci