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
Version imprimable
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 :roll:
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 8O
Voici mon script:
Je décharge mes photos contenues dans un blob dans un repertoire de mon serveur (ca marche).Citation:
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
:oops: :oops: :oops: :oops: j'avais oublié de lancer mon serveur FTP.
Le script complet fonctionne.
Merci
très intéressant :ccool: