IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Blob oracle OTL class


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de sweetasnz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2012
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 212
    Par défaut Blob oracle OTL class
    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 .

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Je ne connais pas la classe OTL ! Pour moi, votre problème est du à un mauvais typage de la variable f qui me semble à être de type long ! Or vous devez la déclarer comme étant de type raw parce que vous utilisez la fonction substr avec un Blob et non pas un Clob.

  3. #3
    Membre expérimenté
    Avatar de sweetasnz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2012
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 212
    Par défaut
    ok je vois
    j'ai commencé quelques tests dont celui-ci :
    en remplaçant ma colonne BLOB par une CLOB, je suis capable de lire/écrire du binaire, donc je n'ai plus mes caractères bizarres.
    affaire à suivre...
    merci pour l'info.

    pour l'histoire, c'est du vieux code avec une couche OTL en supplément pour la gestion multibase...
    enfin vu que la R&D n'avait pas préconisé cela mais que cela a été validé quand même par les décisionnaires, je dirais une couche d'emm**des en supplément pour la gestion multibase.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. purge des blob oracle de plus de 2 Ko
    Par piriquito dans le forum Hibernate
    Réponses: 1
    Dernier message: 22/03/2007, 14h04
  2. Mise à jour d'un BLOB Oracle
    Par philou1008 dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/12/2006, 11h44
  3. Afficher une Image stockée dans un champs BLOB oracle
    Par nonaparus dans le forum Access
    Réponses: 1
    Dernier message: 18/10/2006, 08h26
  4. Recordset + BLOB Oracle
    Par RobinNono dans le forum ASP
    Réponses: 2
    Dernier message: 31/05/2006, 23h59
  5. [Jdbc] Blob Oracle Mysql
    Par spiritusss dans le forum JDBC
    Réponses: 2
    Dernier message: 25/11/2005, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo