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; |
Partager