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

Bases de données Delphi Discussion :

[DXE2][ADO][Informix]Impossible d'utiliser une Directive Index avec ADO ?


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut [DXE2][ADO][Informix]Impossible d'utiliser une Directive Index avec ADO ?
    Bonjour,

    Je reviens avec un nouveau bug du composant TADOQuery...

    Lors de l'exécution d'un SELECT sur une table, ADO insert automatiquement un champ rowid dans sa requête, ceci pour lui permettre de construire ses propres requêtes UPDATE, ou DELETE lors de l'utilisation de .post

    Là où c'est hallucinant, c'est qu'il ajoute ce champ en premier dans la liste des champs sélectionnés.

    Résultat, si vous essayez de préciser une Directive Index comme suit :
    SELECT /*+INDEX (client, aki1_client)*/ nom, prenom, ville from client)
    ADO va générer la requête suivante :
    SELECT rowid, /*+INDEX (client, aki1_client)*/ nom, prenom, ville from client)
    ce qui a pour effet de bloquer l'interprétation de Directive Index.

    La problème ne se pose pas pour un SELECT sur plusieurs tables car il n'y a évidemment pas de ROWID d'insérer dans la requête.

    J'ai ouvert un case chez Embarcadero, et dans l'attente, avez-vous déjà observé ça ?

    (Configuration : Delphi XE2, Windows 7 64 bits, BDD Informix)

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Bon, et bien la réponse d'Embarcadero vient tout juste d'arriver et ce cher Steve Axtelle pense que cela vient du Driver Informix.
    Je renvoie donc le problème chez IBM.

    Je post la réponse quand même, pour l'info de tous

    Hello

    My name is Steve Axtell. I am looking at this case.

    There is nothing I can suggest regarding the position of the ROWID column. My understanding is that this column is how the Informix OLE-DB driver implements bookmark support and is specific to this driver. Only IBM can tell you whether it is possible to change the behaviour of their driver.

    Regards

    Steve Axtell
    Embarcadero Support

Discussions similaires

  1. [AC-2007] Impossible d'utiliser une requête dans une autre requête
    Par tibofo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 07/07/2010, 18h40
  2. [XL-2003] Impossible d'utiliser une dll depuis excel
    Par bossun dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2009, 14h19
  3. [html:form] impossible d'utiliser une action
    Par Spiff__ dans le forum Struts 1
    Réponses: 18
    Dernier message: 31/07/2008, 12h21
  4. Réponses: 2
    Dernier message: 14/05/2006, 19h36
  5. DAO impossible d'utiliser une fonction dans un requete
    Par exter666 dans le forum VBA Access
    Réponses: 10
    Dernier message: 24/09/2005, 17h15

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