Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/02/2007, 22h32   #1
Invité régulier
 
Inscription : janvier 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 63
Points : 9
Points : 9
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 :
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;
Idsaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 08h45   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
il n'y a pas d'erreur ?

PS : merci de penser aux balises à l'avenir
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 10h42   #3
Membre habitué
 
Avatar de olivanto
 
Responsable d'exploitation informatique
Inscription : mars 2005
Messages : 437
Détails du profil
Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Finance

Informations forums :
Inscription : mars 2005
Messages : 437
Points : 147
Points : 147
où est défini le répertoire UTL EXTRACT_DIR ?
__________________
apprenti sorcier Oracle & boulet intérimaire...
http://www.courtois.cc/murphy/murphy_informatique.html
olivanto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 11h33   #4
Invité régulier
 
Inscription : janvier 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 63
Points : 9
Points : 9
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?
Idsaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 11h37   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par Fred_D
il n'y a pas d'erreur ?
bis repetita
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 13h08   #6
Invité régulier
 
Inscription : janvier 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 63
Points : 9
Points : 9
Non il n'ya pas d'erreur , en tout cas aucune exception n'est levéé.
Idsaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 14h46   #7
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
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
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 15h38   #8
Invité régulier
 
Inscription : janvier 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 63
Points : 9
Points : 9
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?
Idsaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 15h40   #9
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
tu as un serveur FTP lancé sur ta machine au moins ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 15h49   #10
Invité régulier
 
Inscription : janvier 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 63
Points : 9
Points : 9
oui j'ai FILEZILLA sur ma machine. Et pour moi mon (username et password) sur ma machine (je suis admin de la machine) me permettrait de me connecter en ftp sur la machine. Je me trompe?
Idsaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 15h58   #11
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
oui

ce sont les user/password défini dans filezilla... mais là je ne sais pas comment ça marche
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h29.


 
 
 
 
Partenaires

Hébergement Web