Précédent   Forum des professionnels en informatique > Bases de données > Firebird
Firebird Forum d'entraide sur le SGBD Firebird. Avant de poster -> F.A.Q Firebird, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/06/2011, 18h12   #1
Invité de passage
 
Inscription : juin 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 15
Points : 2
Points : 2
Par défaut extraire blob 0

Bonjour à tous,

Je suis completement nouvelle dans l'utilisation de base Firebird. (j'ai firebird2.0)
Je dois récupérer le contenu d'un champs de type blob 0 (binaire).
Je ne sais pas quel est le type d'objet enregistré dedans. Ce que je sais c'est qu'il s'agit d'un text mis en forme ou d'un objet qui contiendrait du text rtf.
En utilisant isql, avec la fonction BLOBDUMP j'ai récupéré le contenu mais qui est inutilisable pour moi, je ne sais pas à quoi il correspond.

test 1 :
-------
si je tape dans la zone de text correspondant au champ la lettre "a" j'obtiens la contenu suivant:

Citation:
 ÷E¨]ޱÂ0C™‘ø‡|Â¥–þb¼%M.%"½TIJ‡¨ÿΕŲ¬gË
sõ
—ð»Lº»uèÈ{84ž4\ï
}âZÇ(ÐsˆèíÛäBÔ+ÌTÔƒ6õL³áaß/ç†6Å”¥¡Ìä §LÄ€c\ !ðhûv=®Vãb²C+gŽýÒõÊ"¡ôô
test 2 :
-------
si je tape "b" j'obtiens le contenu suivant:
Citation:
 —6*ޱÂ0C™‘ø‡|Â¥–þb¼%M.%"½TIJ‡¨ÿΕŲ¬gË
sõ
—ð»Lº»uèÈ{84ž4\ï
}âZÇ(ÐsˆèíÛäBÔ+ÌTÔƒ6õL³áaß/ç†6Å”¥¡Ìä §LÄ€c\ !ðhûv=®Vãb²C+gŽýÒõjDB%èé
test 3 :
-------
si je tape "c" j'obtiens le contenu suivant:
Citation:
 hÛ“±ޱÂ0C™‘ø‡|Â¥–þb¼%M.%"½TIJ‡¨ÿΕŲ¬gË
sõ
—ð»Lº»uèÈ{84ž4\ï
}âZÇ(ÐsˆèíÛäBÔ+ÌTÔƒ6õL³áaß/ç†6Å”¥¡Ìä §LÄ€c\ !ðhûv=®Vãb²C+gŽýÒõÊ
"¡ôô
Ma question: que puis je faire pour convertir mon contenu blob en text lisible?

Merci beaucoup pour votre aide, ça fait un bon moment que je cherche!

Noémie
noemieze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 10h42   #2
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Bonjour,

Ca ne ressemble pas du tout à du RTF.

Et si c'était du texte, pourquoi l'avoir mis dans un blob binaire ?

Un des avantage du blob text qu'il prend en compte le codage des caractères alors que le binaire ... c'est du binaire.

Votre application utilise quel codage de caractère ? UFT8 ? ISO8859_1 ? autre ?
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 11h46   #3
Invité de passage
 
Inscription : juin 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 15
Points : 2
Points : 2
Tout d'abord merci Barbibulle!

Pour etre plus précise sur la situation: On m'a donné une base de données Firebird à récupérer (et exporter en Access)
Le logiciel "A" qui a alimenté cette base est completement independant de moi. Donc le pourquoi du codage n'a pas d'interet et le comment j'en ai aucune idée non plus;-) Ce qui m'importe c'est de pouvoir exporter son contenu.
Vu que le contenu de ce champ blob 0 m'intrigue et que je n'arrive pas à le déchiffrer, je procède à des tests pour peut etre comprendre le type d'objet contenu dedans.
J'ai acces au logiciel et je peux tester. Dans ce logiciel, il y a une zone de text, on peut y taper du text et le mettre en forme (gras, surligner, couleur....), c'est ce text qui m'interesse et que je dois récupérer , j'aimerai retrouver ce text dans le champs correspondant or je n'obtiens qu'un code binaire peu exploitable.
En pièce jointe j'ai analysé plus précisement en hexadecimal les implications du code obtenu en fonction de ce qui est tapé dans la zone de text.

Je cherche des indices pour retrouver le type d'objet contenu dans ce blob pour exporter le text contenu dedans.

Encore merci!!

Noémie
Fichiers attachés
Type de fichier : doc Analyse Hexa.doc (85,5 Ko, 8 affichages)
noemieze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 12h59   #4
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Citation:
Envoyé par noemieze Voir le message
Donc le pourquoi du codage n'a pas d'interet
Faux, car visiblement votre blob binaire contient soit vraiment du binaire (dans ce cas, bonne chance pour retrouver le codage...) soit une chaine de caractère codé par exemple en UFT8. qu'il vous suffirait donc de transtyper dans le code caractère que vous utilisez.

Mais bon vu la tête du truc, je doutes que ca soit du RTF.


Déja la base de données utilise quel code de caractère par défaut ?
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2011, 16h23   #5
Invité de passage
 
Inscription : juin 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 15
Points : 2
Points : 2
Par défaut Extraire blob 0 compressé?

Bonjour à tous!

Comment connaitre le character set par défaut d'une base firebird?
Avec l'outil Devrace BlazeTop je peux me connecter avec les character set suivants: ascii, unicode-fss, utf8 et none. avec tous les autres character set j'obtiens le message 'character set ... is not defined.

Pour utf8 j'ai essayé de convertir mon contenu avec ce convertisseur http://hapax.qc.ca/conversion.fr.html sans rien obtenir de spécial.

Sinon j'ai l'impression qu'il s'agit d'un champ blob 0 compressé, c'est pour cela que je ne parviens pas à récupérer les méta donnée du contenu meme avec un hachoir de fichier binaire qui fonctionne sur tous les autres types de fichiers.


Je me pose alors la question s'il y a une méthode pour compresser / decompresser les champ blob 0 dans firebird?

(Le contenu de ce champ blob que je dois décoder est un text rtf enregistré depuis Delphi dans un TRichEdit.)

Merci pour votre aide
Noémie
noemieze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 09h42   #6
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Bonjour,

Il n'y a pas de méthode standard fourni avec firebird pour compresser/decompresser un blob.

Et en effet si c'est du rtf compressé, ca expliquerait pourquoi c'est enregistré dans un blob de type binaire (au lieu d'un type texte).
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h30.


 
 
 
 
Partenaires

Hébergement Web