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:
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 :
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 'ŒÃ' .Code:2563542026\0ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ2013011411
n'étant pas spécialiste, pouvez vous me donner quelques pistes de recherche.
Merci d'avance .