Bonjour,

j'en perds mon latin.

le problème en une image
Nom : firebird.png
Affichages : 101
Taille : 26,5 Ko

j'ai donc une base FB 2.5.8.27085 en ODS 11.2 avec des champs BLOB binaires...et Flamerobin me le confirme dans la structure de la base, mais quand je fais un SELECT il me les transforme en NUMERIC(18,1) ?!


j'ai tenté avec FBCLIENT 2.5.8.27089 et FBCLIENT 3.0.4.33054 ça ne change rien

le plus étrange c'est que j'ai une vieille copie de cette base qui ne pose pas le problème.
j'ai fait un backup/restore de la base qui pose problème dans une nouvelle base et le problème persiste

j'ai tenté un gfix -validate -full qui ne me dit rien

au départ j'ai le problème sous PHP avec PDO, donc ce n'est pas un pb Flamerobin...par contre j'ai un produit Delphi qui accède sans problème aux données (?!) La seule grosse différence c'est que Delphi tourne en 32bits...mais pour en voir le coeur net, je viens d'installer Flamerobin 32Bits et il me retourne la même erreur que la version 64bits :/

avez vous déjà rencontré ça ?

EDIT: je viens de faire un test surprenant, sous Flamerobin, j'ai récupéré la description de la table et créé une seconde table identique sous un autre nom, puis j'ai fait un INSERT INTO nouvelle_table SELECT * from ancienne_table...et bien la nouvelle table fonctionne normalement....ça a juste pris des heures car la base fait 20Gb et le serveur est poussif...

est-il possible qu'une des tables système contienne une info erronée qui force ce transtypage ?

EDIT2: j'ai trouvé un workaround en attendant de comprendre ce qu'il se passe...j'ai ajouté un CAST(xx AS BLOB) sur la sélection des champs BLOB, ça me permet de retrouver le bon résultat, je pense que sous Delphi les composants BDD forces le type déclaré en designtime, ce qui règle le problème.