|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2006 Messages : 12 ![]() |
Salut à tous,
Voilà alors dans un programme en Delphi je stocke un chaine de caractères représentant des données binaire dans un LONGTEXT et mon problème survient lorsque je veux récupérer ces données : ma chaine est coupée dès que le caractère 0x00 arrive... J'ai pour le moment réussi à contourner le problème en utilisant la fonction HEX() pour lire mes donnée puis en convertissant logiciellement ma chaine hexadécimale en chaine de caratères... Celà a tendance à ralentir un peu mon soft, c'est la raison pour laquelle je fais appel à vous pour savoir s'il n'existerai pas un fonction mysql permetant de récupérer directement une chaine incluant des caractères nuls. Merci d'avance ++ |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
pourquoi ne passes-tu pas ta colonne en LONGBLOB ?
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2006 Messages : 12 ![]() |
J'ai déja essayé cette solution mais ça n'a rien donné...
Peut être que le problème est plutôt du coté de mon soft ou de l'API Mysql plutôt que du coté de ma requette ou de mes tables ? |
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Avec MySQL 5 sous Windows XP, je n'ai pas de pb ni en LONGTEXT ni en LONGBLOB.
Voici mon test : Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2006 Messages : 12 ![]() |
Ca illustre parfaitement mon problème, avec ton exemple je récupère 123 et 123
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
moi je vois 123 456 et 123 456...
Quelle est ta version de MySQL ? quel est ton OS ? |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : janvier 2006 Messages : 12 ![]() |
Mysql 5.0 sous Windows XP. Je fais mes tests dans Mysql Query Browser.
|
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
QB est une grosse bouse. J'y obtiens 123 et (blob). Mon test d'au-dessus était fait avec le client texte.
Ça me rassure pour les données ! A titre de comparaison, j'ai 123(carré)456 et [BLOB - 7 Octets] avec phpMyAdmin et 123456 et (blob) avec Toad for MySQL. |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : janvier 2006 Messages : 12 ![]() |
Oui je viens de me rendre compte que QB a ses limites, je viens refaire le test chez un hébergeur avec Mysql 5 et PhpmyAdmin et j'obtiens la même chose que toi...
Néanmoins ça n'empeche pas que j'obtiens aussi 123 et 123 dans mon soft où dans ce cas mon lien avec la base de données est LibMysql.dll. |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Si c'est du texte, remplace le caractère zéro par un autre que tu n'utilises pas, par ex. :
Code :
SELECT REPLACE(binaire, char(0), '§' ) FROM test ; |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : janvier 2006 Messages : 12 ![]() |
Malheureusement les données que j'ai à stocker sont du binaire pur donc rien à fait
Je vais essayer de poser un message dans le coin 'Delphi et Bases de données' vu quele problème ne semble pas venir de Mysql. Merci pour votre aide ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com