Indy TIdFtp.List(MyStringList, '*.txt', false) The system cannot find the file specified
Hello,
Nous avons un programme de transfert FTP très complexe entre différentes succursales. Ce programme tourne depuis des années sur des serveurs Windows 2000 et 2003 R2 sans souci.
On vient d'installer un serveur 2008 et lors de l'appel à la procédure Indy
Code:
TIdFtp.List(MyStringList, '*.txt', false)
on reçoit le message d'erreur suivant
Citation:
The system cannot find the file specified
J'ai pu identifier la différence de comportement :
- avec des serveurs avant 2008, le paramètre '*.txt' peut être EmptyStr, '*', '*.*' ou que sais-je et cela fonctionne.
- avec des serveurs 2008, le paramètre '*.txt' ne génère pas d'erreur seulement si sur le serveur, dans le répertoire courant, il exsite au moins un fichier dont l'extension est '*.txt', sinon on obtient le message d'erreur cité plus haut.
Où peut-on configurer le serveur FTP 2008 pour qu'il ne génère pas cette erreur ?
La modification du programme ne peut pas être envisagée pour l'instant pour différentes raisons de relations commerciales.
Merci d'avance.
Quelques tests supplémentaires (log serveur FTP 2008)
Alors voici quelques infos supplémentaires. IIS 7.5 est installé sur un Windows Server 2008 R2. J'ai fait 2 tests sucessifs en sachant que dans le répertoire racine du site FTP il existe un fichier nommé "toto.txt", mais aucun fichier portant l'extension ".xyz" :
Code:
1 2 3
|
1. TIdFtp.List(MyStringList, '*.txt', false)
2. TIdFtp.List(MyStringList, '*.xyz', false) |
Le log du serveur FTP figure ci-dessous. On peut y voir que lors du passage du paramètre "*.txt", le serveur génère le log "NLST *txt* 226 ..." et que lorsque l'on passe le paramètre "*.xyz", le serveur génère le log "NLST *bcf* 550".
Pour rappel, voici la description des codes de retour FTP :
Citation:
226 Closing data connection. Requested file action successful (for example, file transfer or file abort).
550 Requested action not taken. File unavailable (e.g., file not found, no access). (550 a:\: no such directory means no diskette in a: drive.)
Et voici le log du serveur FTP :
Citation:
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 ControlChannelOpened - - 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 USER anonymous 331 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 PASS - 230 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 /
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 FEAT - 211 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 TYPE I 200 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 SYST - 215 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 TYPE A 200 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 59263 DataChannelOpened - - 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 PASV - 227 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 59263 DataChannelClosed - - 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 NLST *txt* 226 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 /*txt*
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 TYPE I 200 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 QUIT - 221 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:32 127.0.0.1 - 127.0.0.1 21 ControlChannelClosed - - 0 0 ef8475b6-eb30-495d-95ac-99e30b889827 -
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 21 ControlChannelOpened - - 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 21 USER anonymous 331 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 21 PASS - 230 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 /
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 21 FEAT - 211 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 21 TYPE I 200 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 21 SYST - 215 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 21 TYPE A 200 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 59266 DataChannelOpened - - 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 21 PASV - 227 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 59266 DataChannelClosed - - 2 3 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 21 NLST *bcf* 550 2 3 f5fb8269-317a-45bd-8cd6-eaf18c292db4 /*bcf*
2010-02-18 16:24:42 127.0.0.1 - 127.0.0.1 21 TYPE I 200 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:43 127.0.0.1 - 127.0.0.1 21 QUIT - 221 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -
2010-02-18 16:24:43 127.0.0.1 - 127.0.0.1 21 ControlChannelClosed - - 0 0 f5fb8269-317a-45bd-8cd6-eaf18c292db4 -