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 :

mon script ne marche pas en utilisant la fonction UTL_FILE


Sujet :

Oracle

  1. #21
    Débutant
    Inscrit en
    Février 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 105
    Points : 20
    Points
    20
    Par défaut mon script ne marche pas en utilisant la fonction UTL_FILE
    bjour , merci pour votre reponse et pour le script ,
    j'ai executer le script en changeant les parametre d'initialisation et j'ai appeler le script :
    il ma afficher procedure cree, puis j'ai appeler la procedure et il m'a affiché terminer avec succes mais il n'as rien changé dans le fichier. je c pas pourquoi ??
    voila mon code :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    CREATE OR REPLACE PROCEDURE test
      IS
     
     
    V_Repertoire      Varchar2(50)  default 'C:\oracle\ora92\sqlplus\admin' ;              -- Nom du directory de sortie
    V_Fichier         Varchar2(50) default 'glogin1.sql';           -- Nom du fichier de sortie
    Pointeur_Fichier  UTL_FILE.FILE_TYPE ;                       -- Nom du pointeur de fichier de sortie
    V_Msg_err         Varchar2(1000) default 'Aucune donnée déchargée' ;-- Msg pour ERREUR
    V_Ligne           Varchar2(50)  default 'testtesttest' ;    
     
     
     
     
    --#####################################################################################################
    --                            Ouverture d'un fichier d'extraction --
    --#####################################################################################################
    FUNCTION Ouvrir_fichier
      (
        P_Dir in Varchar2,
        P_Nom_Fichier in Varchar2
      ) RETURN UTL_FILE.FILE_TYPE
    IS
      Fichier  UTL_FILE.FILE_TYPE ;
      V_Msg  Varchar2(256);
     
    Begin
     
    BEGIN
      UTL_FILE.FCLOSE( Pointeur_Fichier  ) ;
     
      Fichier := UTL_FILE.FOPEN( P_Dir, P_Nom_Fichier, 'W', 3000 ) ;-- utl_file.fopen
     
    ('c:\fichiers\out\in','export.csv','W',1000);
     
     
      If not UTL_FILE.IS_OPEN( Fichier ) Then
      V_Msg := 'Erreur ouverture du fichier (' || P_Dir || ') ' || P_Nom_Fichier ;
        RAISE_APPLICATION_ERROR( -20100, V_Msg ) ;
      End if ;
     
      Return( Fichier ) ;
     
    Exception
     
    When UTL_FILE.INVALID_PATH Then
      V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Chemin de fichier Invalide.';
     
    When UTL_FILE.INVALID_MODE Then
      V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Parametre du mode de creation du fichier invalide.';
     
    When UTL_FILE.INVALID_FILEHANDLE Then
      V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'handle du File handle is invalid.';
     
    When UTL_FILE.INVALID_OPERATION  Then
      V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Impossible de créer  le fichier ou  chemin introuvable .';
     
     
    When UTL_FILE.READ_ERROR  Then
      V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Error system apparu durant l''operation de lecture .';
     
    When UTL_FILE.WRITE_ERROR Then
      V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Error system apparu durant l''operation de l''écriture.';
     
    When UTL_FILE.INTERNAL_ERROR then
      V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Error PL/SQL inconnu';
     
     
    When UTL_FILE.INVALID_MAXLINESIZE Then
      V_Msg_err := P_Dir ||  P_Nom_Fichier || ' : ' || 'Valeur MAX_LINESIZE value pour FOPEN() invalid;'
        || ' elle doit etre entre 1 to 32767.';
     
     
    -----------------------------------------------------------------
    When others Then
      V_Msg_err := 'Erreur : ' || To_char( SQLCODE ) || ' sur creation du fichier ('
         || P_Dir || ') ' || P_Nom_Fichier ;
     
     
    END;
     
      Return( null ) ;
     
    End Ouvrir_fichier ;
    --#####################################################################################################
    --                            FIN Ouverture d'un fichier d'extraction --
    --#####################################################################################################
     
     
     
     
    begin
     
     
     
     
     -- Ouverture/Creation du fichier
    Pointeur_Fichier  := Ouvrir_fichier( V_Repertoire, V_Fichier ) ;  
     
     
    --si fichier valide
    if Pointeur_Fichier .id is not   null then
     
     
     
     
     
     
      UTL_FILE.PUT_LINE( Pointeur_Fichier , V_Ligne ) ;-- Ecriture ligne entetes
     
     
     
     
     
     
     
      UTL_FILE.FCLOSE( Pointeur_Fichier  ) ;-- Fermeture fichier --
     
    end if;
    end;
    /
    merci d'avance.

  2. #22
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Fichier := UTL_FILE.FOPEN( P_Dir, P_Nom_Fichier, 'W', 3000 )

    R : Read only:lecture seulle
    W :Write:ecriture de nouveau
    A :Append:ajout à la fin de fichier

  3. #23
    Débutant
    Inscrit en
    Février 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 105
    Points : 20
    Points
    20
    Par défaut mon script ne marche pas en utilisant la fonction UTL_FILE
    bjour et merci por votre reponse , vous vouler dire que le code la dessus est bon il me faut juste rectifier cette instruction ???.

  4. #24
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Passe en mode débugage :
    Met des traces et vérifies où ça passe.

  5. #25
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    menoran !j'attend ta réponse

  6. #26
    Débutant
    Inscrit en
    Février 2010
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 105
    Points : 20
    Points
    20
    Par défaut mon script ne marche pas en utilisant la fonction UTL_FILE
    bjour et merci pour votre reponse,
    j'ai essyer comme il est ecrit la dessus et sa marche pas,
    il n'a rien changé dans le fichier
    merci d'avance

  7. #27
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Tu sais toujours pas où tu passes ?

    Je te montre comment faut faire pour débugguer :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    CREATE OR REPLACE PROCEDURE test  IS
     
    	V_Repertoire      Varchar2(50)  DEFAULT 'C:\oracle\ora92\sqlplus\admin' ;              -- Nom du directory de sortie
    	V_Fichier         Varchar2(50) DEFAULT 'glogin1.sql';           -- Nom du fichier de sortie
    	Pointeur_Fichier  UTL_FILE.FILE_TYPE ;                       -- Nom du pointeur de fichier de sortie
    	V_Msg_err         Varchar2(1000) DEFAULT 'Aucune donnée déchargée' ;-- Msg pour ERREUR
    	V_Ligne           Varchar2(50)  DEFAULT 'testtesttest' ;    
     
    		--                            Ouverture d'un fichier d'extraction --
    		FUNCTION Ouvrir_fichier ( P_Dir IN Varchar2,  P_Nom_Fichier IN Varchar2) 
    		RETURN UTL_FILE.FILE_TYPE
    		IS
    		  Fichier  UTL_FILE.FILE_TYPE ;
    		  V_Msg  Varchar2(256);
    		Begin
     
    			BEGIN
     
    			DBMS_OUTPUT.PUT_LINE('Ouvrir_fichier 1');
     
    			  UTL_FILE.FCLOSE( Pointeur_Fichier );
    			DBMS_OUTPUT.PUT_LINE('Ouvrir_fichier 2');
     
    			  Fichier := UTL_FILE.FOPEN( P_Dir, P_Nom_Fichier, 'W', 3000 ) ;
    			  -- utl_file.fopen ('c:\fichiers\out\in','export.csv','W',1000);
     
    			DBMS_OUTPUT.PUT_LINE('Ouvrir_fichier 3');
     
    			 IF NOT UTL_FILE.IS_OPEN( Fichier )
    			 Then
    					V_Msg := 'Erreur ouverture du fichier (' || P_Dir || ') ' || P_Nom_Fichier ;
    					RAISE_APPLICATION_ERROR( -20100, V_Msg ) ;
    			  End IF ;
     
    			  RETURN( Fichier ) ;
     
    			Exception
     
    				When UTL_FILE.INVALID_PATH Then  V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Chemin de fichier Invalide.';
    				When UTL_FILE.INVALID_MODE Then  V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Parametre du mode de creation du fichier invalide.';
    				When UTL_FILE.INVALID_FILEHANDLE Then  V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'handle du File handle is invalid.';
    				When UTL_FILE.INVALID_OPERATION  Then  V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Impossible de créer  le fichier ou  chemin introuvable .';
    				When UTL_FILE.READ_ERROR  Then  V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Error system apparu durant l''operation de lecture .';
    				When UTL_FILE.WRITE_ERROR Then  V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Error system apparu durant l''operation de l''écriture.';
    				When UTL_FILE.INTERNAL_ERROR then  V_Msg_err := P_Dir || P_Nom_Fichier || ' : ' || 'Error PL/SQL inconnu';
    				When UTL_FILE.INVALID_MAXLINESIZE Then  V_Msg_err := P_Dir ||  P_Nom_Fichier || ' : ' || 'Valeur MAX_LINESIZE value pour FOPEN() invalid;'
    				    																										|| ' elle doit etre entre 1 to 32767.';
    				 When others Then
    				  V_Msg_err := 'Erreur : ' || To_char( SQLCODE ) || ' sur creation du fichier ('|| P_Dir || ') ' || P_Nom_Fichier ;
    			END;
     
    		  RETURN NULL;
    		End Ouvrir_fichier;
     
    --    FIN Ouverture d'un fichier d'extraction --
     
    begin
     
     	DBMS_OUTPUT.PUT_LINE('Début');
     
    	 -- Ouverture/Creation du fichier
    	Pointeur_Fichier  := Ouvrir_fichier( V_Repertoire, V_Fichier ) ;  
     
     	DBMS_OUTPUT.PUT_LINE('Ouvrir_Fichier Fini');
     
    	--si fichier valide
    	IF Pointeur_Fichier.id IS NOT NULL
    	then
    		DBMS_OUTPUT.PUT_LINE('Insertion dans fichier');
     
      		UTL_FILE.PUT_LINE( Pointeur_Fichier , V_Ligne ) ;-- Ecriture ligne entetes
     		UTL_FILE.FCLOSE( Pointeur_Fichier  ) ;-- Fermeture fichier --
    	end IF;
     
    end;
    /

Discussions similaires

  1. Mon script ne marche pas sur IE7
    Par Théo92 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/09/2008, 13h19
  2. Pourquoi mon script ne marche pas ?
    Par chrifus dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/05/2008, 18h04
  3. Mon script ne marche pas :(
    Par Diabless6 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 04/04/2007, 20h58
  4. Pourquoi mon script ne marche pas?
    Par amarcil dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/05/2006, 21h37
  5. Tcsh - Mon script ne marche pas
    Par Aramis dans le forum Linux
    Réponses: 5
    Dernier message: 13/05/2004, 18h26

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