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 :

[8i]taille d'un CLOB


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 53
    Par défaut [8i]taille d'un CLOB
    Bonjour,

    J'ai une appli en PHP avec une base Oracle 8i.
    Dans mon appli, j'ai des champs wysiwyg, que je souhaite stocker dans ma base en utilisant des CLOB.
    J'ai donc une procédure (récupérer sur le net et adaptée à mon appli) pour mettre à jour les clobs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    PROCEDURE insert_clob(id IN NUMBER, p_text IN VARCHAR2) IS
    v_clob CLOB;
    BEGIN
    	insert into TAB_CLOB values (id, empty_clob()) returning COMM into v_clob;
    	DBMS_LOB.WRITE(v_clob, length(p_text),1,p_text);
    	COMMIT;
    END;
    et le code php pour utiliser cette procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $refComm = 1;
    $connComm = new DataBase();
    $proc = "BEGIN update_clob(:ID,:TEXTE); END; ";
    $stmt = OCIParse($connComm->DB, $proc);
    OCIBindByName($stmt, ":ID", &$refComm, -1);
    OCIBindByName($stmt, ":TEXTE", &$comm, -1); // $comm = le champ à stocker dans le clob
    OCIExecute($stmt);
    OCIFreeStatement($stmt);
    $connComm->disconnect();
    Mon problème, c'est que je n'arrive pas à stocker plus de 32000 et qqes caractères.

    Est-ce que qqn aurait une solution à ce pb ?
    Merci d'avance

    PS : peut-être que j'aurais dû mettre ce post dans le forum PHP ?

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Cela me paraît normal, puisque tu écris dans ton CLOB, le contenu de ton paramètre qui est en varchar2 (limité à 32767 caractères)

  3. #3
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 53
    Par défaut
    J'ai le même problème si je passe un LONG...

  4. #4
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Oui, le LONG en PL/SQL ne dépasse pas la longueur max du varchar2

    Pourquoi ne passes-tu pas tout simplement un CLOB ?

  5. #5
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 53
    Par défaut
    euh...
    je vois pas bien comment je pourrais passer un CLOB ?

  6. #6
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SQL> desc test_clob
    FUNCTION test_clob RETURNS NUMBER
     Argument Name                  Type                    In/Out Default?
     ------------------------------ ----------------------- ------ --------
     C                              CLOB                    IN
     
    SQL> select test_clob ('Cccccc') from dual;
    TEST_CLOB('CCCCCC')
    -------------------
                      1
    1 row selected.

Discussions similaires

  1. [CR XI] Clobs en taille modulable tronqués à droite
    Par chipie_069 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 06/09/2012, 10h41
  2. Prob Taille CLOB à 32000 caractères
    Par vaiodev dans le forum Oracle
    Réponses: 2
    Dernier message: 03/12/2009, 16h05
  3. Spool d'un champ CLOB avec une taille de ligne 80
    Par FABFAB125 dans le forum SQL
    Réponses: 1
    Dernier message: 10/04/2009, 17h28
  4. Taille max d'un CLOB en 10g
    Par agdid04 dans le forum Administration
    Réponses: 4
    Dernier message: 02/10/2008, 15h27
  5. [DEBUTANT]Taille limite d'un CLOB
    Par tripper.dim dans le forum Oracle
    Réponses: 7
    Dernier message: 29/11/2006, 16h34

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