Bonjour
j'essaye de récupérer le valeur de retour d'une procédure stockée avec C#. Mais j'ai des erreurs que je comprends pas. voila mon code
la signature de Pl est
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 public void ExecProcedure(string tableName, string prefixe) { //Intialisation du parametere de la connxion OracleConnection con = new OracleConnection(this._connectionString); OracleCommand commandeProc = con.CreateCommand(); commandeProc.CommandType = CommandType.StoredProcedure; OracleParameter param; OracleTransaction tran = null; try { con.Open(); tran = con.BeginTransaction(); commandeProc.Transaction = tran; commandeProc.CommandText = "mim.MIM_RETOURNE_CODESUIVANT"; // Création des paramètres en entrée //Nom de la tabele string param = new OracleParameter(); param.ParameterName = "LeNomTable"; param.OracleType = OracleType.VarChar; param.Value = tableName; param.Direction = ParameterDirection.Input; commandeProc.Parameters.Add(param); //prefixe string param = new OracleParameter(); param.ParameterName = "LePrefixe"; param.OracleType = OracleType.VarChar; param.Value = prefixe; param.Direction = ParameterDirection.Input; commandeProc.Parameters.Add(param); //LeNumSuivant int param = new OracleParameter(); param.ParameterName = "LeNumSuivant"; param.OracleType = OracleType.Number; param.Value = 0; param.Direction = ParameterDirection.Output; commandeProc.Parameters.Add(param); int LeNumSuivant; LeNumSuivant = Convert.ToInt32(commandeProc.ExecuteOracleScalar().ToString()); tran.Commit(); } catch (Exception ex) { tran.Rollback(); throw ex; }
le pl marche très biens sur oracle. mais avec c# j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part CREATE OR REPLACE PROCEDURE MIM.MIM_RETOURNE_CODESUIVANT(LeNomTable IN VARCHAR2, LePrefixe IN VARCHAR2, LeNumSuivant OUT NUMBER) IS
est ce que vous avez une idée SVP. merciLa référence d'objet n'est pas définie à une instance d'un objet.
Partager