Bonjour
je souhaite récupérer la valeur d'une colonne BLOB sous ORACLE 10
dans mon code en c, j'utilise la class OTL

voici le bout de code :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
otl_long_string f(200);
os->m_db.set_max_long_size(200);
strcpy(requete,"SELECT DBMS_LOB.substr(MY_COL,200,1) AS MY_COL FROM MY_TABLE");
otl_stream o(1,requete,os->m_db);
*lg_buf = 0;
o>>f;
memcpy((void *)buf, (void *)f.v, f.len());
*lg_buf = f.len();

Je n'arrive pas à récupérer la valeur en hexa dans ma variable "buf" (initialement le résultat de 'f.v'), alors que lorsque j'exécute cette requête avec sqlplus, j'obtiens le bon résultat.

J'obtiens une valeur a peu près de ce genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
2563542026\0ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ2013011411
En gros, même si le résultat n'est pas en hexa, ce sont en premier lieu les caractères 'ŒÃ' qui me posent problème car je devrais obtenir des caractères 'Ì' à la place de 'ŒÃ' .

n'étant pas spécialiste, pouvez vous me donner quelques pistes de recherche.
Merci d'avance .