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

XMLRAD Discussion :

Message TDacQuery.GetPreparedQuery avec NativeAdo à 1


Sujet :

XMLRAD

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Points : 114
    Points
    114
    Par défaut Message TDacQuery.GetPreparedQuery avec NativeAdo à 1
    Bonjour,

    J'ai un souci avec XMLRAD, SQL SERVER 2000, ADO avec le paramètre NativeADO à 1 (qui permet d'utiliser les prépare donc gain en vitesse).
    En faite à chaque fois que j'ai des requêtes avec des "in" ou "not in" ou "exists" donc en quelque sorte des sous requêtes, j'ai le message d'erreur suivant :

    TDacQuery.GetPreparedQuery - Les informations de paramètre ne peuvent provenir d'instructions SQL avec des requêtes de sous-sélection. Définissez les informations de paramètre avant de préparer la commande

    Comment me sortir de ce problème ?

    Merci pour vos commentaires.
    Michel

  2. #2
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    tu as un exemple de requête qui donne cela ?
    avec un NativeADO à 0 cela fonctionne ?

  3. #3
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par RDM
    tu as un exemple de requête qui donne cela ?
    avec un NativeADO à 0 cela fonctionne ?
    Oui avec NativeADO = 0 cela fonctionne.

    Toute requête de ce style:

    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
     
    SELECT
       TABLEA.ID,
       TABLEA.NAME
    FROM 
       TABLEA 
    WHERE
       TABLEA.ID NOT IN (
           SELECT 
               TABLEB.ID 
           FROM 
               TABLEB 
           WHERE 
              (TABLEB.OTHERID = :MyID) 
       )
    Le paramètre "MyID" est bien mis dans les paramètres section "Params" de mon XMLInstruction


    Merci
    Michel

  4. #4
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Points : 114
    Points
    114
    Par défaut
    De plus en regardant avec le profiler de SQL Server, on voit qu'il prépare
    la requête "prepare SQL" et ensuite il fait un "exec sp_unprepare" au lieu de "exec prepared SQL" qu'il fait tout naturellement avec une requête sans l'instruction "NOT IN".

    Si cela peut aider a m'aiguiller sur mon problème que je rencontre.

    A+
    Michel

  5. #5
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Points : 114
    Points
    114
    Par défaut
    A force de chercher on vient de trouver une piste et cela marche mais bon...

    En faite j'ai une instruction parent qui récupère un ID et dans l'instruction fils si je prend le paramètre :ID pour l'inscrire dans ma requête et que je l'ajoute dans les params là cela se plante.
    Par contre si je remplace :ID par {$ID} alors là le système ne se plante pas ... pas géniale mais cela lui évite de faire un prepare ou un truc du style qu'il n'arrive pas à faire.

    Avec cela je pense que l'on peut dire qu'il y a un bug dans le mécanisme de préparation des paramètres non ?

    Merci de vos commentaires
    Michel

  6. #6
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    Effectivement on a remarqué quelques problèmes dans le prepare natif.
    c'est en cours d'étude... pas plus d'info pour l'instant

  7. #7
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par RDM
    Effectivement on a remarqué quelques problèmes dans le prepare natif.
    c'est en cours d'étude... pas plus d'info pour l'instant
    Ok merci je laisse la discussion ouverte alors car une fois que cela marchera on aura des gains de temps appréciable

Discussions similaires

  1. message d'erreur avec borland c++
    Par sally042 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 06/12/2006, 15h41
  2. Réponses: 11
    Dernier message: 25/09/2006, 09h00
  3. Créer un message d'alerte avec comme solution oui ou non
    Par La_Bande_A_Zozo dans le forum C++Builder
    Réponses: 3
    Dernier message: 24/05/2006, 14h43
  4. Message d'erreur avec Bulk Insert
    Par Shivas dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 18/07/2005, 12h03
  5. Envoi de messages MS DOS avec le IP
    Par asphp dans le forum Développement
    Réponses: 6
    Dernier message: 07/01/2004, 16h11

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