Page 1 sur 1
execution d'une cmd FTP et suppreion des doc.

Publié:
16 Déc 2008 à 12:59
par Gillou13
Bonjour à tous,
j'ai un agent qui fait l'algo suivant :
Création d'un fichier CSV(export des doc d'une base)
Création d'un fichier FTP.bat (avc la commande FTP qui va bien)
Création d'un fichier FTP.TXT (avec login mdp et commande pour envoyer sur une serveur UNIX le fichier csv.)
exécution de la commande FTP.
Tous ces fichiers sont créés dans un répertoire local du domino.
Tous ça fonctionne correctement, Mais mon admin voudrai que je supprime tous ces fichiers (sur le domino) après le transfert.
M'a 1er idée est d'ajouter un autre agent qui s'exécute 10min après le 1er pour tous effacer.
Y a t'il une autre méthode plus 'propre' pour détecter la fin du transfère FTP et lancer la suppression des ces fichiers via Lotus? (et en bonus qu'il m'indique si le transfère c'est exécuté correctement)
Merci d'avance pour vos réponces.

Publié:
16 Déc 2008 à 15:40
par mclement
tu la lances comment le transfert?

Publié:
16 Déc 2008 à 15:41
par kerozen
@helloz
de mon côté, j'utilise NotesFTP script Library disponibles ici:
http://www-10.lotus.com/ldd/sandbox.nsf ... enDocument
mais cela ne fonctionne que sur plateforme windows (pour le serveur domino chargé de créer la connexion).
par contre, très facile d'effacer les fichiers locaux ou distants à la fin de l'upload,....
je l'utilise tous les jours pour envoyer des fichiers txt et xml (plus des doc, xls,...) de mon domino 6.5.4 vers un serveur ftp linux.

Publié:
16 Déc 2008 à 16:08
par Gillou13
Je Lance le ficher BAT via la commande : Shell
Merci pour la lib kerozen.
par contre avant de voir plus en details la bibli, tu peu me passer les commandes qui vont bien pour envoyer un fichier par FTP via cette lbi stp?

Publié:
16 Déc 2008 à 16:38
par kerozen
tout est dans l'aide du nsf, mais voici quelques exemples:
Sub Click(Source As Button)
Dim objFTP As NotesFTPSession
Set objFTP=New NotesFTPSession
With objFTP
.Connect "ftp.testdomain.com", "jsmith", "password", 0
.DeleteFile "delete.me"
.Disconnect
End With
Delete objFTP
End Sub

Publié:
17 Déc 2008 à 10:36
par Gillou13
Merci pour tous.

Publié:
03 Oct 2011 à 12:02
par kerozen
Bonjour à tous.
je reviens sur le sujet, un peu vieux, car aujourd'hui je bascule toutes les bases d'un serveur win32 vers un serveur win64 et bien sur, la librairie notesFTP s'appuie sur wininet.dll, en 32bits.
du coup, la librairie ne fonctionne plus sous environnement 64 bits de windows.
auriez vous des pistes pour adapter cette librairie en mode 64 bits ?
merci d'avance.

Publié:
03 Oct 2011 à 12:09
par Michael DELIQUE
Désolé, je n'ai rien vue sur le sujet.
mais tu ne dois pas être le premier a te retrouver face au problème. les architecture 64bits deviennent de plus en plus courante.

Publié:
03 Oct 2011 à 14:48
par kerozen
Et oui malheureusement.
bon, il y a bien possibilité de retravailler mes agents ftp avec java, mais la ça coince un peu au niveau des compétences actuelles.
sinon, wininet.dll existe toujours sur les systèmes x64, mais les appels ne doivent pas être les mêmes...
edit:
Alors effectivement, avec un domino 64 sur un windows 2008 64, l'appel à wininet se fait à %windir%\system32 qui est le répertoire pour les dll 64 bits.
du coup, les appels ne doivent pas être les mêmes. l'erreur retourné par domino est: "External function not found".
en forçant l'utilisation de la dll dans %windir%\SysWOW64, l'erreur retournée n'est pas la même; error in loading dll au lieu de External function not found.
mais il arrive à charger la dll dans les deux cas, selon Process Monitor.
Bref, si nous voulons continuer à utiliser wininet.dll pour utiliser la librairie notesFTP, il nous faudra trouver quels appels ont changés dans la dll pour 64bits.
sinon, j'ai cru lire qu'il était possible d'utiliser winhttp à la place, mais je n'en sait pas plus.
edit:
Il semblerait bien que ce problème soit lié à domino 64 bits.
en effet, un client 32 bits sur un seven 64 bits utilise correctement wininet.dll, que ce soit la version 32 ou 64 bits (dans %windir%\system32 ou %windir%\SysWOW64)
sous domino 64 , que l'on utilise la version 32 ou 64 bits de la dll, impossible d'utiliser wininet.