farrakis
Messages postés32Date d'inscriptionvendredi 28 janvier 2005StatutMembreDernière intervention12 mai 2013
-
12 mai 2013 à 11:47
Utilisateur anonyme -
12 mai 2013 à 13:29
Bonjour
Pour le besoin d'une appli métier, j'ai besoin de me connecter à un serveur de mon réseau d'entreprise (adresse du serveur du type 10.1.70.5), d'y récupérer des fichiers texte et de les copier sur le disque dur de l'utilisateur.
Lorsque je tente de me connecter sur le serveur en question via l'explorateur Windows, on me demande un login et un mot de passe. Je les connais et peut donc me connecter sans problème, mais l'application ayant pour vocation d'être déployée sur plusieurs postes de travail, j'aimerais que ces informations de connexion soient "codées" dans le programme.
Après m'être connecté sur le serveur, via l'explorateur, je n'ai aucun mal à copier les fichier souhaités sur mon disque dur via un simple
My.Computer.FileSystem.CopyFile
J'ai cherché un peu un moyen de me connecter via du code au serveur et ai trouvé la fonction
My.Computer.Network.DownloadFile
Toutefois à l'exécution de cette fonction je rencontre des difficultés:
[list]
La première est que lorsque j’exécute la commande
on me retourne immanquablement une erreur du type "le login ou le mot de passe sont incorrects", pourtant je suis sûr de ces derniers car j'arrive à me connecter au serveru avec via l'Explorateur Windows.
/list
[list]
La seconde est que le fichier que je cherche à copier est en perpétuelle utilisation par un autre logiciel.
Une fois que je me suis connecté sur le serveur via Windows Explorer, si je tente l'exécution de
My.Computer.Network.DownloadFile
on me retourne un message du type "Fichier en cours d'utilisation". En revanche, la fonction My.Computer.FileSystem.CopyFile fonctionne correctement.
/list
Je cherche donc un moyen d'accéder à mon serveur via login et mot de passe et à copier un fichier texte en cours d'utilisation..
Si quelqu'un à une idée, je suis preneur...
Merci d'avance
PS : je travaille en VB.NET sur Visual Studio Express 2010
Je pense qu'il faut indiquer à la méthode, la nature du protocole utilisé.
Tu peux tenter ceci :
Dim LogonCred As Net.NetworkCredential = New Net.NetworkCredential("userid", "password", "domain")
Dim MonUri As Uri = New Uri("file://10.1.70.5/dossier/monFichier")
My.Computer.Network.DownloadFile(MonUri, "C:\temp\monFichierCopier", LogonCred, False, 3000, true)