J'ai un complément Excel qui fonctionnait mais, en passant de Oracle 11g à 12c, le passage de paramètre semble ne plus vouloir fonctionner correctement ou cela à changé mais je n'arrive pas à trouver d'informations à ce sujet.

Nom : 2018-10-30_10-27-09.png
Affichages : 407
Taille : 18,4 Ko

Le code VBA jusqu'où ça génère l'erreur:
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
    Dim cnCNF As Connection
    Dim pStep As ADODB.Parameter
    Set cnCNF = New Connection
 
    cnCNF.CursorLocation = adUseClient
    cnCNF.Open cnString
 
    Dim cmCNF As ADODB.Command
    Set cmCNF = New ADODB.Command
    Dim rConfig As Recordset
    Set rConfig = New Recordset
 
    With cmCNF
        .ActiveConnection = cnCNF
        .CommandType = adCmdStoredProc
        .CommandText = "pkg_mgg.p_config"
 
        Set pStep = .CreateParameter("p_step", adVarChar, adParamInput, 10)
        .Parameters.Append pStep
    End With
    pStep.Value = ouvrage
    Set rConfig = cmCNF.Execute
La procédure stockée, toute simple:
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
   PROCEDURE p_config (p_step IN VARCHAR2, p_cur OUT r_cursor)
   IS
   BEGIN
      OPEN p_cur FOR
         SELECT pkg_mgg.pmo_nb (num, 'S1') a3, pkg_mgg.pmo_nb (num, 'S2') a4,
                pkg_mgg.pmo_nb (num, 'A2') a2, pkg_mgg.pmo_nb (num, 'A5') a5,
                pkg_mgg.pmo_nb (num, '7') bio
           FROM step
          WHERE num = p_step;
   END;

Si jamais quelqu'un a une idée...