"Erreur d'exécution '-2147217887 (80040e21)' : Une opération en plusieurs étapes
mercureVB
Messages postés1Date d'inscriptionvendredi 6 mars 2009StatutMembreDernière intervention 6 mars 2009
-
6 mars 2009 à 17:49
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
6 mars 2009 à 18:44
Bonjour,
dans une application en VB6 reliée à une base Oracle via une connexion ADO, je déclare un recordset de la manière suivante :
Dim vRs As ADODB.Recordset
Dim vSQLTmp As String
qui va exécuter la requête suivante :
vSQLTmp =
"SELECT ANE_AN, ANE_COD, ANP_COD, ANS_COD,
COUNT(ANS_COD) OVER(PARTITION BY ANE_AN, ANE_COD, ANP_COD) AS NBSEQ,
SSQ_FLG, SQ_FLG
FROM W_ANIM_CDE_FR"
J'ouvre un recordset qui exécute la requête ci dessus dont les propriétés sont :
Quand on arrive sur l'instruction d'affectation vRs!SSQ_FLG = "1", l'erreur suivante se produit :
Erreur d'exécution '-2147217887 (80040e21)' :
Une opération en plusieurs étapes a généré des erreurs. Vérifier chaque valeur d'état.
Le champ SSQ_FLG est de type varchar2 d'une taille de 1 octet.
Lorsque je passe par une requête UPDATE pour mettre à jour SSQ_FLG, ça marche, mais du coup je perds l'avantage de la mise à jour par lot du UpdateBatch( ).
Serait ce à cause de la fonction d'aggrégation SELECT COUNT( ) propre à ORACLE, ou bien à cause du paramétrage de mon recordset ?