|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2008 Messages : 16 ![]() |
Bonjour a tous,
On me fait la demande suivante : sur une base Oracle 9i, on veut extraire le contenu de tables. certaines de ces tables contiennent des BLOB. le client voudrait Un format SQL incluant les BLOBs en Hexa. Bon, deja, extraire un blob, j'ai trouvé. je genere un fichier soit avec UTL_FILE.put_raw, soit avec utl_file.put(l_file, UTL_RAW.CAST_TO_VARCHAR2(l_buffer) ) quand je regarde le fichier generé, je vois bien le contenu (du texte). la ou je coince, c'est sur la demande : BLOBs en Hexa. alors la, je seche, je ne sais meme pas si demander cela est un non sens ou pas, et si c'est faisable, j'ai beau fouiller sur le net, je ne trouve rien. Merci de votre aide ! JB |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 437 ![]() |
Le Blob est stocké en hexa dans la base (il peut contenir des fichiers doc, vidéos, images, etc...), donc faire un export en hexa se comprend.
Par contre la réinsertion devra se faire par programme (je ne pense pas qu'on puisse réinsérer un blob directement en sql. D'ailleurs, un BLOB pouvant faire 4 Go (ou plus suivant les versions de base), ce n'est pas un truc facilement utilisable derrière. exemple d'export d'une table de logos (en gif),n mais que les 20 premiers codes hexa Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2008 Messages : 16 ![]() |
Ok, merci pour l'info sur le fait que le blob soit deja en hexa.
le soucis ici est de reussir a extraire le blob dans un fichier, directement en HEXA ... comment dois je m'y prendre ? ca m'enerve, j'ai l'impression de buter sur un truc a la con, et j'aime pas ca ... Merci pour ton aide en tout cas ... |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Si vous utilisez put_raw et que vous avez correctement codé l'extraction du Blob, vous n'avez rien à faire: le fichier est en Hexa!
|
|
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Inscription : juillet 2008 Messages : 16 ![]() |
ALors :
en utilisant put_raw, j'ai exactement la meme sortie qu'avec UTL_RAW.CAST_TO_VARCHAR2, a savoir un fichier lisible ... le fichier commence par => "Form Information etc etc etc" par contre, si je fais ceci : Code :
voici mon code (de test, je fais des essais) : Code :
|
||||
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Le contenu de votre colonne blob est "lisible". Ouvrez le fichier généré avec un éditeur héxa et vous allez visualiser le même résultat que dbms_lob.substr
Code :
|
||
|
|
10
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juillet 2008 Messages : 16 ![]() |
ok, merci pour la precision, si j'ai bien compris, le fichier generé est bien en HEXA, c'est l'editeur de texte (vi en l'occurence dans mon cas) qui me l'affiche, transcodé en ASCII ???
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
C'est ça! Faite un od -h <nom_fich> pour l'afficher en Hexa.
|
|
|
10
|
Copyright © 2000-2012 - www.developpez.com