Problème de requête oracle aléatoire

Bonjour à tous,

J'utilise excel pour créer un rapport quotidien. Ce rapport est généré sur l'événement Open du fichier excel. Et ce fichier est lancé par un batch qui est lui même lancé par le planificateur de Windows.
Ca fonctionne plutôt bien depuis maintenant un an environ.

Le fichier excel se connecte à une base de données ORACLE et exécute une requête SQL. Celle-ci peut prendre entre 1 à 4 min environ.
Je précise je n'ai rien changé dans le code ou autre.

Depuis quelques temps, le rapport n'est plus généré. En effet, en mettant quelques traces dans le code, je vois que le prog reste bloqué sur l'éxécution de la requête oracle et impossible qu'elle se termine. Je suis obligé de killer et ensuite de relancer. Et lorsque je relance, dans 90% des cas, le rapport se génère bien.

Voilà ce que j'utilise dans le code, peut être que j'ai mal codé ou qu'il y a quelque chose qui déconne. (je ne mettrais pas la requête volontairement)

strCon = MachainedeConnexionàlaBDDOracle
    cnDB.ConnectionTimeout = 30
    cnDB.ConnectionString = strCon

    On Error Resume Next
    cnDB.Open

Requete = "MA REQUETE SELECT"

cnDB.CommandTimeout = 3000 ' 900    15 minutes

On Error Resume Next
rsRecords.Open Requete, cnDB
If Err.Number <> 0 Then
   EcrireLogFile (Err.Description)
   EcrireLogFile (Err.HelpContext)
   EcrireLogFile ("La requête ne peut être exécutée : ")
   EcrireLogFile (Requete)
   Err.Clear
Else
   EcrireLogFile ("Requête exécutée avec succés")
    Do Until rsRecords.EOF
            PARCOURS DES LIGNES DE RESULTAT DE LA REQUETE

Lorsque ça bloque, je ne vois aucune ligne dans mon fichier de log ni

La requête ne peut être exécutée

ni

"Requête exécutée avec succés"

Du coup, j'ai l'impression que c'est bloqué sur l'éxécution de la requête mais j'avoue que je sèche un peu.

Pour info, je vois bien que la connexion est bien faites à la base de données (j'ai ajouté des logs qui le montre).

Est-ce que vous pourriez m'aider à essayer de résoudre ce problème ?

Je vous remercie d'avance pour votre aide ou pour vos conseils.

Bonjour, juste avec le code difficile de trouver.

Cependant je ne vois pas pourquoi excel vous retournerait un message d'erreur puisque vous lui demandez de continuer.

On Error Resume Next

Bonjour,

je t'invite pendant un temp d'ajouter des linges qui te permette de voir ou ton code decone!

EcrireLogFile  "Début du Code"
EcrireLogFile  " cnDB.Open"
EcrireLogFile  "rsRecords.Open Requete, cnDB"
EcrireLogFile  "Do Until rsRecords.EOF

ainsi dans ton fichier de Log tu verras ou ton code est passé!

Rechercher des sujets similaires à "probleme requete oracle aleatoire"