[PostgreSQL] [AccèsNatif] Mémo binaires
Bonjour,
J'ai un problème que j'ai du mal à m'expliquer avec les fonctions HAttacheMémo et HExtraitMémo avec PostgreSQL. Ces deux fonctions ont l'air de fonctionner correctement mais lorsque j'utilise la fonction HExtraitMémo le contenu en retour est au format Héxadécimal.
Exemple simplifié :
J'enregistre un fichier texte qui contient "123", en retour dans mon fichier texte j'ai la valeur 'x313233'.
Pour y remédier je dois donc faire la chose suivante :
Code:
1 2 3 4
| SI HExtraitMémo ( TEST_BINAIRE, MonBinaire, sMonResultat ) ALORS
sContenuHexa = fChargeTexte ( sMonResultat ) [[ 2 A ]]
sContenu = HexaVersBuffer ( sContenuHexa )
FIN |
Ma question est de savoir si une telle démarche vous parait normal où est-ce que quelque chose m'aurait échappé ? Ce qui me gène aussi c'est qu'actuellement je suis en version 16 et que la fonction HexaVersBuffer n'existe que depuis la 17.
Ce qui me surprend c'est qu'avec MySql je ne rencontre pas ce problème, je ne suis quand même pas le premier à faire ce genre de traitement avec PostgreSQL, ce n'est pas un bug ?
Dernières précisions, ma base de donnée a été créée avec pgadmin avec les paramètres par défaut donc avec un codage UTF8, et la connexion depuis windev est celle par défaut sans information étendues donc théoriquement compatible avec le codage UTF8.
Merci pour les précisions que vous pourriez m'apporter à ce sujet ...
1 pièce(s) jointe(s)
Réponse du service technique
Bonjour,
Je viens de recevoir aujourd'hui même la réponse du ST, pour eux tout est normal en version 78H. Malheureusement de mon côté j'ai refait le test en 78H et je constate toujours le même symptôme.
C'est assez incompréhensible car j'ai réalisé une batterie de test et j'ai systématiquement le même résultat.
J'ai positionné ci-joint un petit projet très simple (une fenêtre). Est-ce que quelqu'un parmi vous aurait l'occasion de réaliser le test ?
Protocole de reproduction :
Dans le code du bouton BTN_CONNEXION de la fenêtre FEN_TEST, il faut modifier les paramètres de connexion.
Ensuite il faut :
- Exécuter le projet
- Cliquer sur le bouton connexion qui crée également un fichier de test
Si la connexion est établie :
- Cliquer sur le bouton ajouter qui réalise le HattacheMémo
- Cliquer sur le bouton Lecture KO qui affiche le résultat en Héxa
- Cliquer sur le bouton Lecture OK qui affiche le résultat correct (123) mais qui passe par un fChargeTexte et un HexaVersBuffer
Pour le ST, le résultat est le suivant : Lecture_KO affiche "123", donc tout est normal !
Par avance je remercie celui ou celle qui aurait l'opportunité de réaliser ce test...
PS: La DLL pour l'accès natif est dans le répertoire exe du projet.