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 :

Insertion dans la colonne de type CLOB


Sujet :

SQL Oracle

  1. #1
    Membre confirmé Avatar de Sabact
    Inscrit en
    Septembre 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 189
    Par défaut Insertion dans la colonne de type CLOB
    Bonjour à tous,
    J'ai esseyé de créer une table contenant une colonne CLOB,ainsi pour la remplir j'ai créé la procédure anonyme ci dessus.
    Lors de lancement on a l'erreur cf ci dessous.
    Pour remarque: le répertoire est bien existé et ainsi le fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    SQL> ED
    écrit fichier afiedt.buf
     
      1  DECLARE
      2    word_doc       CLOB;
      3    f       BFILE   := BFILENAME('D:\Projet\Script\','IntroductionaulangageJava.doc');
      4    flen  INTEGER;
      5  BEGIN
      6     flen := dbms_lob.getlength(f);
      7     dbms_lob.fileopen(f,dbms_lob.file_readonly);
      8     dbms_lob.loadfromfile(word_doc,f,flen);
      9      insert into bibliotheque  values (12,'CLOB',word_doc) ;
     10     dbms_lob.fileclose(f);
     11    COMMIT;
     12* END;
    SQL> /
    DECLARE
    *
    ERREUR à la ligne 1 :
    ORA-22285: répertoire ou fichier inexistant pour l'opération GETLENGTH 
    ORA-06512: à "SYS.DBMS_LOB", ligne 518 
    ORA-06512: à ligne 6 
     
    SQL> SPOOL OFF;
    Merci pour votre aide.

  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
    Vous devez préciser un directory oracle et non un répertoire dans BFILENAME

    cf. http://sheikyerbouti.developpez.com/...?page=Chap9#L9
    (et plus particulièrement les exemples)

  3. #3
    Membre confirmé Avatar de Sabact
    Inscrit en
    Septembre 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 189
    Par défaut
    Bonjour,
    J'ai changé le directory en directory oracle ensuite lance la procédure on a l'erreur ci-après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    SQL>   DECLARE
      2    word_doc       CLOB;
      3    f       BFILE   := BFILENAME('DIRECTORYORACLE','IntroductionaulangageJava.doc');
      4    flen  INTEGER;
      5  BEGIN
      6     flen := dbms_lob.getlength(f);
      7     DBMS_OUTPUT.PUT_LINE('flenmes'||TO_CHAR(flen));
      8     dbms_lob.fileopen(f,dbms_lob.file_readonly);
      9     dbms_lob.loadfromfile(word_doc,f,flen);
     10     insert into bibliotheque values (12,'CLOB',word_doc) ;
     11     dbms_lob.fileclose(f);
     12    COMMIT;
     13* END;
    SQL> /
    flenmes323072                                                                   
    DECLARE
    *
    ERREUR à la ligne 1 :
    ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: invalid LOB 
    locator specified: ORA-22275 
    ORA-06512: à "SYS.DBMS_LOB", ligne 578 
    ORA-06512: à ligne 9 
     
     
    SQL> spool off;
    Merci

  4. #4
    Membre confirmé Avatar de Sabact
    Inscrit en
    Septembre 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 189
    Par défaut
    Bonjour,
    En fait mon problème est que je n'arrive pas à donner le privilège write sur un directory donnée mais le READ est bien possible?
    Est ce que ça a une rélation avec tout cela?
    La version oracle que j'ai utilisée est :

    Oracle8i Enterprise Edition Release 8.1.7.4.1 - Production
    With the Partitioning option
    JServer Release 8.1.7.4.1 - Production
    En version supérieur la grant est bien possible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SQL> CREATE OR REPLACE DIRECTORY TEST AS 'C:\DATA';
     
    Répertoire créé.
     
    SQL> GRANT READ,WRITE ON DIRECTORY TEST TO PUBLIC;
    GRANT READ,WRITE ON DIRECTORY TEST TO PUBLIC
               *
    ERREUR à la ligne 1 :
    ORA-22928: privilège sur répertoires non valide

    Merci.

  5. #5
    Membre expérimenté Avatar de DAB.cz
    Inscrit en
    Octobre 2006
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 221
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GRANT READ ON DIRECTORY TEST TO PUBLIC;
    GRANT WRITE ON DIRECTORY TEST TO PUBLIC;
    DAB

  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
    En 8i, il n'est pas possible de faire de grant write (cf. la doc)

  7. #7
    Membre confirmé Avatar de Sabact
    Inscrit en
    Septembre 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 189
    Par défaut
    Bonjour
    Citation Envoyé par plaineR Voir le message
    En 8i, il n'est pas possible de faire de grant write (cf. la doc)
    L'URL de la doc?
    Merci

  8. #8
    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

Discussions similaires

  1. Importer des fichiers images dans une colonne de type bytea
    Par piposnow dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 28/05/2009, 21h36
  2. insertion dans table à colonne unique identity
    Par dev-man dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/01/2007, 17h06
  3. Réponses: 15
    Dernier message: 22/07/2005, 09h49
  4. Réponses: 5
    Dernier message: 19/04/2005, 09h46
  5. INTERBASE 5.5 insertion dans une colonne BLOB
    Par mariustrezor dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/10/2004, 18h06

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