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 :

UTL_TCP ftp PL/SQl


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 63
    Par défaut UTL_TCP ftp PL/SQl
    Dans mon code qui suit je prends des données sur un serveur oracle (situé sur une machine distante) et j'aimerai écrire ces données dans un fichier que je crée sur ma machine locale par FTP via le package UTL_TCP. Le problème c'est que mon fichier n'es pas crée et je comprends pas pourquoi.

    le code est le suivant:

    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
     
    DECLARE
     
    cursor C_SUIVI_DTM is
     
    select MATGSOC, 
           DAT_TRT, 
    	   NOM_TABLE, 
    	   date_diff(DATDEB_TRT,DATFIN_TRT) as DUREE
    FROM SUIVI_DTM                   
    WHERE DAT_TRT between add_months(to_date(to_char(sysdate,'YYYYMM'),'YYYYMM'),-1) and LAST_DAY(add_months(to_date(to_char(sysdate,'YYYYMM'),'YYYYMM'),-1));
     
    l_conn  UTL_TCP.connection;
    	p_host   Varchar2(50):='ICOULIBALY';
    	p_port   INTEGER:=21;
    	l_result  PLS_INTEGER;
     
    	 r_SUIVI_DTM          C_SUIVI_DTM%ROWTYPE;
     
    	szTrt                Varchar2(32);
    	szFileExport         Varchar2(50);
    	ligne                VARCHAR2(100); 
    BEGIN
     
      szTrt := 'EXPORT_SUIVI_DTM';
      szFileExport := to_char(add_MONTHS(Sysdate,-1), 'YYYYMM') || '_'||szTrt||'.txt';
      l_conn := UTL_TCP.open_connection(p_host, p_port);
      dbms_output.put_line( 'connection machine'||l_conn);
     
      l_result := UTL_TCP.write_line(l_conn, 'USER ' || 'icoulibaly ');
       dbms_output.put_line( 'connection user'||l_conn);
     
      l_result := UTL_TCP.write_line(l_conn, 'PASS ' ||  'issoufou');
     
     
     
     
     
     
      --l_result := UTL_TCP.write_line(l_conn, 'STOR ' || 'D:/'||szFileExport );
      l_result := UTL_TCP.write_line(l_conn, 'STOR ' || 'fichier' );
     
     
    	--monFichier := UTL_FILE.FOPEN ('EXPLOIT','szFileExport', 'a');
     
     
    	ligne:='MATRICULE GROUPE ;'||'DTE traitement;'||'NOM de  table;'||'Duree traitement';
     
       -- DBMS_LOB.WRITE(v_clob, l_offset, length(ligne),ligne);
     
         --utl_file.put_line(monFichier, ligne);
    	 l_result := UTL_TCP.write_text(l_conn, ligne, LENGTH(ligne));
    	 UTL_TCP.flush(l_conn);
     
    	open C_SUIVI_DTM;
     
    	LOOP
    	 fetch C_SUIVI_DTM into r_SUIVI_DTM;
    	 EXIT WHEN C_SUIVI_DTM%NOTFOUND;
    	 ligne:=null;
    	 ligne:=r_SUIVI_DTM.MATGSOC ||';'||r_SUIVI_DTM.DAT_TRT||';'||r_SUIVI_DTM.NOM_TABLE||';'||r_SUIVI_DTM.DUREE;
     
     
    	 --utl_file.put_line(monFichier, ligne);
    	 l_result := UTL_TCP.write_text(l_conn, ligne, LENGTH(ligne));
    	 UTL_TCP.flush(l_conn);
     
    	END LOOP;
    	close C_SUIVI_DTM;
    	--UTL_FILE.FCLOSE (monFichier);
     
    	 UTL_TCP.close_connection(l_conn);
    	 --dbms_output.put_line( 'aa');
       EXCEPTION
        WHEN UTL_FILE.INVALID_PATH then
        dbms_output.put_line ('Chemin Invalide');
        RAISE;
       WHEN OTHERS then
       dbms_output.put_line (SQLERRM);
          RAISE;
     
       END;

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    il n'y a pas d'erreur ?

    PS : merci de penser aux balises à l'avenir

  3. #3
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut
    où est défini le répertoire UTL EXTRACT_DIR ?

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 63
    Par défaut UTL TCP ftp
    Je ne connais pas ce que tu appelle utl extract_DIR.
    Mais bon dans les exemples que j'ai vu sur le net y'a pas besoin de creer un repertoire quelconque. Mais peut tu m'expliquer ce que tu entends par utl extract_DIR?

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par Fred_D
    il n'y a pas d'erreur ?
    bis repetita

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 63
    Par défaut
    Non il n'ya pas d'erreur , en tout cas aucune exception n'est levéé.

  7. #7
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    alors c'est une question de débuggage et là tu vas devoir te débrouiller seul. Je te conseille d'afficher des messages à chaque étape pour vérifier ce qui est fait

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 63
    Par défaut
    Je viens de me rendre compte que le mot de passe n'est pas bon. Or c'est le mot de passe de ma machine alors QUESTion:

    Comment definir un mot de passe et un compte sur mon serveur ftp?

Discussions similaires

  1. [Pl / SQL] FTP
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 7
    Dernier message: 18/10/2006, 18h39
  2. Réponses: 2
    Dernier message: 10/10/2006, 09h11
  3. SSIS : FTP & Sql Server Agenta
    Par kaboume dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/08/2006, 23h29
  4. [Pl/Sql] extraction d'une table et ftp
    Par atanabe dans le forum Oracle
    Réponses: 4
    Dernier message: 19/07/2006, 07h26
  5. [sql][débutant] export de csv vers ftp ?
    Par Christophe93250 dans le forum Access
    Réponses: 1
    Dernier message: 25/06/2006, 13h50

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