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

SQL Oracle Discussion :

Problème pour extraire une donnée d'un champ CLOB


Sujet :

SQL Oracle

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut Problème pour extraire une donnée d'un champ CLOB
    Bonjour,

    J'ai des champs CLOB qui font plus de 4000 octets dont je voudrais extraire des données. Comment puis-je faire ??

    Car avec substr ce n'est pas la peine:

    ORA-22835: Taille de tampon insuffisante pour la conversion de CLOB en CHAR ou de BLOB en RAW (réelle : 6689, maximum : 4000).

    D'avance merci

  2. #2
    Membre averti Avatar de dariyoosh
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 236
    Points : 334
    Points
    334
    Par défaut
    Bonjour,


    Personnellement, je n'ai pas testé pour voir qu'est-ce que ça donne, mais voici ce que l'on peut lire dans la documentation en ligne concernant le message d'erreur que vous avez eu

    http://docs.oracle.com/cd/E11882_01/...htm#sthref6770
    ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: string, maximum: string)

    Cause: An attempt was made to convert CLOB to CHAR or BLOB to RAW, where the LOB size was bigger than the buffer limit for CHAR and RAW types. Note that widths are reported in characters if character length semantics are in effect for the column, otherwise widths are reported in bytes.


    Action: Do one of the following:

    1. Make the LOB smaller before performing the conversion, for example, by using SUBSTR on CLOB

    2. Use DBMS_LOB.SUBSTR to convert CLOB to CHAR or BLOB to RAW.

    Utiliser donc DBMS_LOB.SUBSTR peut-être ?


    Cordialement,
    Dariyoosh
    Cordialement,
    Dariyoosh

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut
    J'avas déjà essayé, j'ai la même erreur: ORA-22835: Taille de tampon insuffisante pour la conversion de CLOB en CHAR ou de BLOB en RAW (réelle : 6689, maximum : 4000)

  4. #4
    Membre averti Avatar de dariyoosh
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 236
    Points : 334
    Points
    334
    Par défaut
    Ceci pourrait vous aider

    http://www.orafaq.com/forum/mv/msg/1.../0/#msg_350887


    Cordialement,
    Dariyoosh
    Cordialement,
    Dariyoosh

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut
    Merci de votre aide mais la valeur que je veux récupérer ce trouve au dessus des 4000 premiers octets.


  6. #6
    Membre du Club
    Homme Profil pro
    ingénieur d'étude PL/SQL
    Inscrit en
    Octobre 2002
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur d'étude PL/SQL

    Informations forums :
    Inscription : Octobre 2002
    Messages : 53
    Points : 69
    Points
    69
    Par défaut
    essaies avec dbms_lob.read et/ou DBMS_LOB.INSTR (pour te positionner dans le CLOB)

    http://sheikyerbouti.developpez.com/...=Chap9#L9.2.25

  7. #7
    Candidat au Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut DBMS_LOB.SUBSTR
    DBMS_LOB.SUBSTR se fonctionne pour moi. Merci bcp

Discussions similaires

  1. Réponses: 9
    Dernier message: 22/06/2011, 16h19
  2. Réponses: 4
    Dernier message: 12/07/2010, 19h48
  3. Réponses: 1
    Dernier message: 07/04/2008, 16h11
  4. Probléme pour insérer une variable dans un champs
    Par BOUTRAIS dans le forum Access
    Réponses: 2
    Dernier message: 11/04/2006, 22h45
  5. Réponses: 4
    Dernier message: 09/02/2006, 15h20

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