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

Oracle Discussion :

[ODBC] Problème d'exécution de requête


Sujet :

Oracle

  1. #1
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut [ODBC] Problème d'exécution de requête
    Bonjour,

    j'espère que je suis sur le bon forum ...

    voilà j'ai une requête assez complexe (avec des WITH et des fonctions analytiques) qui toutefois s'exécute rapidement sous toad avec un client 9.2.

    Cette requête est dédiée à être exécutée dans une macro Excel. J'ai donc une source de données ODBC avec comme pilote "Oracle dans OraHome92" (c'est bizarre non ?)

    Bref. Dans excel je fais 2 trois requêtes basiques et ça marche. Ensuite vient le tour de ma requête assez complexe. Et là, bam, Excel se gèle, je n'arrive pas à tuer la session dans toad, sur le serveur le process Oracle passe à 25% du proc ... la cata quoi ...

    Avez vous une idée ? Le driver ne supporte pas ma requête, c'est dans un forum vba qu'il faut que je poste, je n'utilise pas le bon driver .. ?

    je suis un peu perdu là ...
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    passez la requête exécutée par ODBC en mode trace (event 10046 level12) via un trigger after logon par exemple et comparez les plans d'exécutions avec celles obtenues sans ODBC

    je suis prêt à parier qu'il y a de fortes différences....

  3. #3
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par LeoAnderson Voir le message
    passez la requête exécutée par ODBC en mode trace (event 10046 level12) via un trigger after logon par exemple et comparez les plans d'exécutions avec celles obtenues sans ODBC
    heu, là je suis pas sûr d'avoir la compétence technique ... je vais voir si quelqu'un peut m'y aider.

    Citation Envoyé par LeoAnderson Voir le message
    je suis prêt à parier qu'il y a de fortes différences....
    Je suis obligé de passer par ODBC ? Y'a t'il un driver meilleur qu'un autre ?

    Pourtant quand j'y pense j'avais une requête un peu du même genre et qui passait bien avec le client 8.2 en tant que driver. D'ailleurs je n'arrive plus à l'uriliser pour créer ma connexion ODBC. Je me demande si ça ne pourrait pas être un problème d'installation ... ?
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  4. #4
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    bon alors en traçant la requete envoyée par odbc sous toad, l'explain plan est bizarre. en gros ya toute une partie qui est identique et l'autre partie, qui concerne les clauses with, c'est un panneau rouge avec un joli point d'exclamation à l'intérieur ...

    Si j'entoure ma requete d'un SELECT * FROM ( ...), avec le driver oracle 9.2 j'ai une belle erreur ORA-32036, et après quelques recherches sur le net, le peu de solutions trouvées ne résolvent pas le problème. Par contre avec le driver microsoft et bien ça marche ... (l'explain plan est tout de même identique)

    Alors bon, je pige pas tout. Je préfèrerais quand même utiliser le driver Oracle. Mais je crois que c'est un peu mort ...

    je laisse tout de même le sujet ouvert, au cas où ...
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  5. #5
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Petite rectification ... c'est un client 9.02 que j'ai.

    Alors avec mon (oui c'est le mien) ingé système on vient de trouver ... donc si ça peut servir à quelqu'un ...

    la solution de metalink est la bonne, il faut désactiver le MTS (microsoft transaction server) dans la configuration ODBC. MAIS il faut en plus n'avoir qu'un seul driver ODBC sur la machine. Sur la mienne, j'ai du 8, du oradev6i ... et ça marche pas. Par contre sur une machine propre avec seulement une 9.02 ça passe nickel.

    Wouou, je peux utiliser mes WITH et autres OVER dans mes macros Excel ... et je dois dire ça fait du bien !
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL via ODBC] Problème à l'exécution d'une requête
    Par kwakanar dans le forum Bases de données
    Réponses: 1
    Dernier message: 03/06/2010, 14h46
  2. [MySQL] Problème d'exécution de requête
    Par hedgehog dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/02/2007, 15h29
  3. Problème d'exécution de requête
    Par Juanito-Toto dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/10/2006, 10h14
  4. problème d'exécution de requête sous VBA?
    Par jessy212 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/08/2006, 18h48
  5. [STRUTS/HIBERNATE] Problème d'exécution de requête
    Par mc_chicken dans le forum Hibernate
    Réponses: 5
    Dernier message: 21/10/2005, 09h27

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