j'effectue des interrogations vers une base de donnée (oracle, 8i)
j'utilise les objets adodb connection et adodb.recordset
avant d'ouvrir mon recordset, je copie la requête que je veux exéuter dans une variable que j'appelle ensuite lors de l'utilisation de la methode 'open' du recordset...


Jusque là ça marche sauf si la requete dépasse 255 caractères. la chaîne source est toujours tronquée à 255 caractères.


Quel type de donnée permet de manipuler des chaines plus longues ?
Comment faîtes vous pour lancer une requête de plus de 255 caractères ?

voici une partie de 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
20
21
22
23
24
25
26
 
With MyConnect
        .ConnectionString = "ODBC;UID=DWH;PWD=DWH;DSN=S0156_XDWA;"
        .Open
        .CursorLocation = adUseClient
    End With
 
 
   MyRequete = "select " _
  & "to_char(ID_RPN_NIV) niv," _
  & "to_char(sum(decode(cd_rpn_grp_grp_pvt_cla,'G1',1))) G1," _
  & "to_char(sum(decode(cd_rpn_grp_grp_pvt_cla,'G2',1))) G2," _
  & "to_char(sum(decode(cd_rpn_grp_grp_pvt_cla,'G3',1))) G3 " _
  & "FROM vw_pvt_classif_grp_pvt vw, tb_d_ref ref, tb_i_vte_ref_jou vte " _
  & "WHERE vte.id_pvt=vw.id_pvt and vte.id_ref=ref.id_ref and " _
  & "vte.id_tps_jou BETWEEN " & DtDeb & " AND " & DtFin & " " _
  & "AND ref.cd_ref='" & RefAndre & "'  and " _
  & "id_rpn_niv = " & Str(idclaniv) & " " _
  & "GROUP BY to_char(ID_RPN_NIV);"
 
 
    With MyRecSet
        .CacheSize = 50
        .Open MyRequete, MyConnect, adOpenDynamic, adLockReadOnly
 
    End With