Salut

Soit la PROC (Qui compile) :

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
create or replace
PROCEDURE XXXXXXX_EU_UTILISATEUR_GET (
    vCODE_USR IN VARCHAR2,
    cRESULTSET IN OUT globalPkg.RCT1,
    nRETURN_VALUE OUT NUMBER 
)
AS
BEGIN
nRETURN_VALUE := 0; 
OPEN cRESULTSET FOR
    SELECT     
        CODE_USR, 
        NOM_USR, 
        PREN_USR, 
        TYPE_USR, 
        FAX_USR, 
        TEL_USR, 
        CODE_FCT, 
        ADRS_INF, 
        TLC_USR, 
        CODE_RP, 
        TYPE_HD, 
        CODE_SO, 
        CODE_DIV, 
        CODE_SIT, 
        CODE_DR, 
        CODE_DP, 
        CODE_SV, 
        CODE_RESP, 
        CODE_LOC, 
        CODE_BAT, 
        CODE_ETG, 
        ADRS_USR, 
        CP_USR, 
        VIL_USR, 
        CPS_USR, 
        USR_REMPL, 
        HD, 
        CHPAR1, 
        CHPAR2, 
        CHPAR3, 
        CHPAR4, 
        CHPAR5, 
        CHPAR6, 
        CHPAR7, 
        CHPAR8, 
        CHPAR9, 
        CHPAR10,
        HG_IDLEVELH,
        HG_IDLEVELG, 
        CODE_CTRCT,
        CHPAR11,
        CHPAR12,
        CHPAR13,
        CHPAR14,
        CHPAR15,
        MIDNAME,
        NICKNAME,
        VMAIL_USR, 
        PAGER_USR, 
        CIVILITE, 
        COM_USR, 
        ROWID
    FROM
        UTILISATEUR
    WHERE
        CODE_USR = vCODE_USR;
END XXXXXXX_EU_UTILISATEUR_GET;
Soit le code C#
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
 
        public CL_DATA_Utilisateur(int Code_Utilisateur)
        {
            CHPAR = new List<string>();
            OracleConnection oConn = new OracleConnection(ConfigurationManager.ConnectionStrings["XXXXX_CS"].ConnectionString);
            oConn.Open();
            OracleCommand oCmd = new OracleCommand("XXXXXXX_EU_UTILISATEUR_GET", oConn);
            oCmd.Parameters.Add(new OracleParameter("vCODE_USR", intCodeToString(Code_Utilisateur, '0', 10)));
            OracleParameter oParam = new OracleParameter();
            oParam.ParameterName="cRESULTSET";
            oParam.OracleType= OracleType.Cursor;
            oParam.Direction = ParameterDirection.Output;
            oCmd.Parameters.Add(oParam);
            oCmd.Prepare();
            OracleDataAdapter oDA = new OracleDataAdapter(oCmd);
            DataSet oDS = new DataSet();
            oDA.Fill(oDS);
            this.CODE_USR = (string)oDS.Tables[0].Rows[0][CODE_USR];
            oConn.Close();
        }
pour info :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
        internal static string intCodeToString(int value, char frontFillWith, int totalLenght)
        {
            string strToReturn;
            strToReturn = value.ToString();
            int stringLenght = strToReturn.Length;
            strToReturn = new string(frontFillWith, totalLenght - stringLenght) + strToReturn;
            return strToReturn;
        }
L'exec du C# me donne :

Exception Details: System.Data.OracleClient.OracleException: ORA-01036: numéro/nom de variable interdit


Source Error:


Line 71: OracleDataAdapter oDA = new OracleDataAdapter(oCmd);
Line 72: DataSet oDS = new DataSet();
Line 73: oDA.Fill(oDS);
Line 74: this.CODE_USR = (string)oDS.Tables[0].Rows[0][CODE_USR];
Line 75: oConn.Close();

Question :

Ou est l'erreur ?

D'avance merci

Laurent