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

PL/SQL Oracle Discussion :

lecture de fichier en pl\sql


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Points : 55
    Points
    55
    Par défaut lecture de fichier en pl\sql
    bonjour
    je galere a executer correctement ce bloc pl sql. est ce que bquelqu'un à une idée du probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    createor replace directory sampledata as 'c:\sampledata';
    declare
    f utl_file.file_type;
    s varchar2(200);
    begin
    f := utl_file.fopen('SAMPLEDATA','sampledata1.txt','R');
    utl_file.get_line(f,s);
    utl_file.fclose(f);
    dbms_output.put_line(s);
    end;
    *
    ERREUR à la ligne 1 :
    ORA-29283: opération non valide sur le fichier
    ORA-06512: à "SYS.UTL_FILE", ligne 475
    ORA-29283: opération non valide sur le fichier
    ORA-06512: à ligne 5

    repertoire est belle et bien crée et accessible
    merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 69
    Points : 64
    Points
    64

  3. #3
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252
    Par défaut
    Vérifiez que un fichier avec ce nom existe dans le répertoire en question.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    le fichier existe dans le dossier et le dossier est bien accessible a travers oracle

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    il me dit maintenant que le chemin de repertoire n'est pas valide alors que j'ai belle et bien créer le repertoire oracle et le fichier y est belle et bien present.

  6. #6
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Bonjour,

    Quel est la version d'oracle ?
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  7. #7
    Invité
    Invité(e)
    Par défaut
    As tu les droits sur le répertoire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grant read, write on directory MACHIN to USER;

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    je suis sous oracle 10 g et j'ai mis les droits d'acces pour tout le monde

  9. #9
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par nabelou1 Voir le message
    il me dit maintenant que le chemin de repertoire n'est pas valide alors que j'ai belle et bien créer le repertoire oracle et le fichier y est belle et bien present.
    Bonjour

    Il serait préférable de citer le message d'erreur exact et complet, plutôt que de le résumer à votre sauce.

    Votre code fonctionne (après ajout de l'espace entre CREATE et OR bien sûr).
    Il y a sans doute un réel problème de nom ou d'emplacement des objets manipulés.
    Par exemple, la feinte classique de Windows qui vous ajoute une double extension : vous croyez que votre fichier s'appelle TOTO.TXT, mais en réalité il s'appelle TOTO.TXT.TXT.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    voici le code et le message

    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
    SQL> declare
      2  f utl_file.file_type;
      3  s varchar2(200);
      4  rep varchar2(15):='sampledata';
      5  begin
      6  f := utl_file.fopen(rep,'sampledata1.txt','R');
      7  utl_file.get_line(f,s);
      8  utl_file.fclose(f);
      9  dbms_output.put_line(s);
     10  EXCEPTION
     11  WHEN OTHERS
     12  THEN
     13  dbms_output.put_line(SQLERRM);
     14  UTL_FILE.FCLOSE_ALL; 
     15  end;
     16  /
    ORA-29280: chemin de répertoire non valide
     
    Procédure PL/SQL terminée avec succès.
     
    SQL>

  11. #11
    Invité
    Invité(e)
    Par défaut
    En majuscule, plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      4  rep varchar2(15):='SAMPLEDATA';

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    ça n'a rien changé
    voici mon rep quand je fais select * from all_directories;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    OWNER                          DIRECTORY_NAME
    ------------------------------ --------------------
    DIRECTORY_PATH
    ---------------------------------------------------
    SYS                            SAMPLEDATA
    c:\sampledata
     
    SQL> grant read,write on directory sampledata to public;
     
    Autorisation de privilèges (GRANT) acceptée.
    et mon code donne toujours ça
    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
    SQL> declare
      2  f UTL_FILE.FILE_TYPE;
      3  s varchar2(200);
      4  begin
      5  f:= UTL_FILE.FOPEN('SAMPLEDATA','sample1.txt',
      6  utl_file.get_line(f,s);
      7  utl_file.fclose(f);
      8  dbms_output.put_line(s);
      9  EXCEPTION
     10  WHEN OTHERS
     11  THEN
     12  dbms_output.put_line(SQLERRM);
     13  UTL_FILE.FCLOSE_ALL; 
     14  end;
     15  /
    ORA-29283: opération non valide sur le fichier
    ORA-06512: à "SYS.UTL_FILE",
    ligne 475
    ORA-29283: opération non valide sur le fichier

  13. #13
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Avez-vous la certitude de pouvoir ecrire dans la racine de ce disque ?
    j'ai vu des boites ou les PC "utilisateurs" étaient tellement bridés qu'ils ne pouvaient rien faire dans le répertoire racine...
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    oui car je travaille directement sur le serveur et je n'ouvre le fichier qu'en lecture .

  15. #15
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Avez-vous essayé une autre directory ?
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    j'ai trouver pourquoi ça foire.
    c'est parsceque le serveur oracle se trouve ailleurs contrairement a ce qu'on m'avais dis je viens de le decouvrir dans le tnsname .ora
    je suis desolé de ne pas avoir y pensé plutôt.
    je vous remercie tous pour les info qui m'ont servi à comprendre comment ça marche.

Discussions similaires

  1. Lecture/Edition de fichier en PL/SQL
    Par YavaDeus dans le forum PL/SQL
    Réponses: 4
    Dernier message: 21/10/2009, 13h45
  2. [Oracle 10g] Lecture d'un fichier en PL/SQL
    Par sebvita dans le forum PL/SQL
    Réponses: 7
    Dernier message: 07/08/2007, 17h05
  3. [PL/SQL]problème avec la lecture de fichier
    Par magicbisous-nours dans le forum SQL
    Réponses: 4
    Dernier message: 16/05/2007, 16h17
  4. [T-SQL]Déplacement/copie/lecture de fichier dans un trigger?
    Par molarisapa dans le forum Développement
    Réponses: 3
    Dernier message: 06/12/2006, 14h08
  5. PL/SQL lecture/ecriture fichier txt
    Par stos dans le forum PL/SQL
    Réponses: 2
    Dernier message: 19/05/2006, 12h19

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