Bonjour,
est il possible en pl / sql d'utiliser des fonctions ftp qui me permettraient de déposer des fichiers sur un serveur ftp ?
Merci
Bonjour,
est il possible en pl / sql d'utiliser des fonctions ftp qui me permettraient de déposer des fichiers sur un serveur ftp ?
Merci
je crois bien avoir vu un topic à ce sujet... tu as fait une recherche ?
oui mais sans resultat
j'ai trouvé un truc sur le net mais cela fait appel à deux fichier :
ftp.pks, ftp.pkb
Lien vers la doc:
http://www.oracle-base.com/articles/...romPLSQL9i.php
j'avoue je ne sais pas quoi faire avec ces deux packages .
Merci
pourtant : http://www.developpez.net/forums/sho...&highlight=ftp![]()
Et il y a d'autres exemples.
c'est le même principe, cependant la doc mentionne deux packages.
je viens de créer les packages (sans erreurs). mais je suis pas sur de l'impact sur la base![]()
Voici mon script:
Je décharge mes photos contenues dans un blob dans un repertoire de mon serveur (ca marche).CREATE OR REPLACE PROCEDURE ExportFoto(dirfile VARCHAR2,idRefTech VARCHAR2)
IS
/* Variables */
v_file UTL_FILE.FILE_TYPE;
v_buffer RAW(32767);
v_amount BINARY_INTEGER := 32767;
v_pos INTEGER := 1;
v_blob BLOB;
v_blob_len INTEGER;
filename VARCHAR2(20);
l_conn UTL_TCP.connection;
/* CURSEUR */
/* Corps */
BEGIN
-- Get LOB locator
SELECT EHI_IDUSER||'.jpg',EHI_PHOTO INTO filename,v_blob
FROM ECHANGE_IDENTITE
where EHI_UID=idRefTech;
v_blob_len := DBMS_LOB.GETLENGTH(v_blob);
-- Open the destination file.
v_file := UTL_FILE.FOPEN(dirfile,filename,'w', 32767);
-- Read chunks of the BLOB and write them to the file
-- until complete.
WHILE v_pos < v_blob_len LOOP
DBMS_LOB.READ (v_blob, v_amount, v_pos, v_buffer);
UTL_FILE.PUT_RAW(v_file, v_buffer, TRUE);
v_pos := v_pos + v_amount;
END LOOP;
-- Close the file.
UTL_FILE.FCLOSE(v_file);
-- Send an ASCII file to a remote FTP server.
l_conn := ftp.login(serveurftp, '21', 'user, 'password');
ftp.ascii(p_conn => l_conn);
ftp.put(p_conn => l_conn,
p_from_dir => dirfile,
p_from_file => filename,
p_to_file => filename);
ftp.logout(l_conn);
utl_tcp.close_all_connections;
EXCEPTION
WHEN OTHERS THEN
-- Close the file if something goes wrong.
IF UTL_FILE.IS_OPEN(v_file) THEN
UTL_FILE.FCLOSE(v_file);
END IF;
RAISE;
END;
/
Maintenant je veux les envoyer en ftp sur mon serveur ftp (j'ai bien les droits) mais mon scripts me renvoi l'erreur suivante:
ERREUR à la ligne 1 :
ORA-29260: network error: TNS:no listener
ORA-06512: at "REFERENTIEL.EXPORTFOTO", line 60
ORA-06512: at line 1
qu'est que je dois faire pour résoudre ce pb ?
Merci
![]()
![]()
![]()
j'avais oublié de lancer mon serveur FTP.
Le script complet fonctionne.
Merci
Partager