IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Discussion :

[VBA-BusinessObject 5.1] erreur Oracle 3667


Sujet :

VBA

  1. #1
    Membre confirmé
    Avatar de logica
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Mars 2003
    Messages : 160
    Par défaut [VBA-BusinessObject 5.1] erreur Oracle 3667
    Hi,

    J'utilise du code VBA pour exécuter des requêtes vers une base Oracle 9.2 via un driver ODBC et sous BusinessObject 5.1.9

    Lorsque la base Oracle est arrêtée, je prend une erreur '3667 - Une opération différente empèche l'exécution de cette opération' à l'exécution d'un SQL avec la routine .Execute

    Comment mieux gérer cette erreur pour indiquer que la connection Oracle est arrêtée ?

    nb: j'utilise la syntaxe .OpenConnection pour ouvrir la liaison Oracle ODBC mais elle ne me retourne pas d'erreur. L'erreur intervient juste à l'exécution du query SQL via .Execute

    Merci d'avance de votre aide.
    cyril

  2. #2
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Salut,
    fais une recherche avancée sur ce forum sur la gestion des erreurs:
    Tu verras qu'avec ça, tu peux intercepter une erreur, et déclencher le traitement que tu veux, en fonction du numéro de l'erreur.

  3. #3
    Membre confirmé
    Avatar de logica
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Mars 2003
    Messages : 160
    Par défaut
    Je connais et j'utilise mais la variable Err.Number me retourne toujours 3667 dans ce cas !!!

  4. #4
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Et bien justement:
    Teste la valeur de Err.Number, et si elle vaut 3667, affiche un message d'erreur plus explicite, disant que ta base est arrêtée, et arrête la procédure en cours.
    Ou même, lorsque l'utilisateur entre dans BO, utilise une requête test pour vérifier que ta base Oracle est bien démarrée. Et si elle est arrêtée, dis à l'utilisateur que l'application est indisponible pour le moment, ou un truc dans le même genre.

  5. #5
    Membre confirmé
    Avatar de logica
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Mars 2003
    Messages : 160
    Par défaut
    Personne n'a déjà eu cette erreur 3667 lors d'un accès à une source ODBC ?

    Merci

  6. #6
    Membre confirmé
    Avatar de logica
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Mars 2003
    Messages : 160
    Par défaut
    Hi,

    J'ai trouvé un article sur le KB qui traite du souci ..

    Symptomes:
    L'exécution d'une requête ou la manipulation d'un jeu d'enregistrements dans une zone de travail ODBCDirect provoquent l'erreur suivante:
    "Une opération différente empêche ce fonctionnement d'être exécuté, cette erreur d'exécution 3667".

    Cause:
    Cette erreur peut être générée en essayant d'exécuter plus de une opération asynchrone à un moment sur le même objet connexion ou en effectuant toutes les opérations Data Access Object (DAO) (tel que manipulation de jeu d'enregistrements) sur le même objet connexion lorsqu' est en cours d'exécution une requête asynchrone.

    Résolution:
    Pour exécuter plusieurs requêtes asynchrones sur le même objet connexion, vous devez d'abord tester la valeur de la propriété StillExecuting pour déterminer si vous pouvez lancer l'opération asynchrone suivante. Pour exécuter plusieurs requêtes asynchrones dans le parallèle, vous devez créer des objets connexion distincte et exécuter chaque requête asynchrone sur son propre objet connexion.

    Article: > http://support.microsoft.com/kb/177516/fr#kb2

Discussions similaires

  1. [C#] Erreur Oracle avec une requete paramétrée
    Par gael.mases dans le forum C#
    Réponses: 1
    Dernier message: 02/12/2005, 10h39
  2. Trace des erreurs Oracle 8i
    Par Endymion222 dans le forum Oracle
    Réponses: 17
    Dernier message: 08/11/2005, 11h40
  3. Erreur Oracle ORA-30036
    Par lapartdombre dans le forum Oracle
    Réponses: 5
    Dernier message: 04/11/2005, 15h37
  4. [INSTALL] erreur oracle et linux
    Par orcl dans le forum Oracle
    Réponses: 28
    Dernier message: 05/07/2005, 14h21
  5. [Exceptions] récupérer erreur oracle
    Par zach dans le forum Langage
    Réponses: 21
    Dernier message: 23/02/2005, 09h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo