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 :

[FIREBIRD][IBO] Recherche de champs n'existant plus


Sujet :

Bases de données Delphi

  1. #1
    Membre éprouvé Avatar de Simara1170
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Avril 2014
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Delphi
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 423
    Points : 1 154
    Points
    1 154
    Par défaut [FIREBIRD][IBO] Recherche de champs n'existant plus
    Bonjour, après avoir cherché un bon moment, je me tourne vers vous pour avoir une réponse à mon problème.
    J'explique un peu le contexte: je suis à l'heure actuelle en train de migrer des applications de Delphi 7 à Delphi XE2 et donc, de les déminer au passage, vu que certaines fonctions n'ont plus le même comportement entre ces deux IDE (y'a 10 ans d'écart mine de rien...)
    Et je suis tombé sur un os, un beau, un velu, un bourru...
    J'ai ma DB qui tourne sur Firebird 2.5, et mon programme Delphi tape dedans avec des composants IBO (IboTable, IboSrc et IboQry), et sur une de mes tables, il me renvois une erreur -206 (colonne non trouvée). Bon, jusque-là rien de bien alarmant (il y a un comportement bizarre avec la propriétés AutoFetch, et bien souvent le fait de le passer à False résout le problème).

    Donc, je fais ma manip' sur l'autofetch comme d'habitude et je relance ma compil', et Pof, erreur -206...
    Je décide d'aller voir dans mon composant et ma DB, pour voir ce qui cloche:
    et donc la liste de champs de ma table ECOLE_EPFC et la suivante:
    1. ID_ECOLE
    2. MATRICULE
    3. NOM
    4. ADR_RUE
    5. ADR_NO
    6. ADR_ID_LOCALITE
    7. NOM_DIRECTEUR
    8. PRENOM_DIRECTEUR
    9. SEXE
    10. NO_FASE


    Et du côté de mon composant, j'ai la même liste de champ, donc à priori tout semble OK. Le champ qui est signalé comme non existant est le champ MATRICULE_ECOL qui est en fait, l'ancien nom du champ MATRICULE.
    Si je drope la table, et que je la recrée le bug disparaît pendant un moment pour finalement revenir.
    On a une autre table, nommée ECOLE qui contient elle un champ MATRICULE_ECOL. Est-ce que le SGBD ou le composant pourrait faire une confusion entre les deux? Est-ce une mauvaise mise à jour de la DB? Je dois avouer que je sèche dessus depuis bientôt une semaine.

    J'ai bien entendu fait une recherche sur MATRICULE_ECOL dans mon code, pour voir s'il y avait un oubli de refactoring, mais que neni, il est absent de mon source.

    Si quelqu'un pouvait me donner un début de piste ou creuser, ça serait bien, parce que drop et recréer la table toute les 3 heures, ça va pas le faire

    Cordialement,
    Simara

    NB: le code fonctionne parfaitement sous delphi7
    Citation Envoyé par deuche
    Il y a encore à peine 150 ans, nous vivions encore comme il y a environ 2000 ans.

  2. #2
    Membre éprouvé Avatar de Simara1170
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Avril 2014
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Delphi
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 423
    Points : 1 154
    Points
    1 154
    Par défaut
    Bon, en attendant une réponse qui permettra de résoudre durablement ce bug (je vais envoyer un mail au créateur du module pour qu'il me confirme (ou pas) que c'est un mauvais fonctionnement), j'ai trouvé une rustine:
    Comme je dois rapatrier l'intégralité de ma table (Oh wait, c'est pour ça que j'utilisais un IBOTable ), j'ai pris un composant IBOQuery, et j'ai fait un bête
    L'erreur semble avoir disparue, mais cette solution ne me plaît guère, c'est juste un pansement et pas très élégant en plus (ouais ça doit partir en prod dans...bah maintenant en fait, alors j'ai appelé le composant comme la table, avec un todo pour le refactoring ).

    Je ne met donc pas résolu pour l'instant, et j'attend vos avis éclairés sur le sujet...
    Citation Envoyé par deuche
    Il y a encore à peine 150 ans, nous vivions encore comme il y a environ 2000 ans.

Discussions similaires

  1. Réponses: 24
    Dernier message: 18/10/2013, 16h49
  2. [AC-2003] Rechercher les champs les plus utilisés
    Par chicabonux dans le forum Access
    Réponses: 7
    Dernier message: 02/05/2010, 15h18
  3. [CR XI] Recherche de champs dans état existant
    Par Green Hornet dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 26/08/2009, 18h00
  4. Réponses: 1
    Dernier message: 30/05/2007, 13h25
  5. Réponses: 3
    Dernier message: 21/01/2007, 10h40

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