Liste des personnes accédant à un fichier

cs_jerms Messages postés 115 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 3 janvier 2016 - 7 déc. 2004 à 15:10
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015 - 8 déc. 2004 à 19:56
Hello everybody,

une petite question toute bête, comment est-ce que je peux avoir les personnes (nom de machine par exemple) qui sont en train d'utiliser un fichier ?

En fait j'ai un fichier sur un lecteur réseau, et j'ai un traitement qui passe la nuit mais si quelqu'un est sur le fichier ca plante, donc je voudrais savoir s'il y a moyen de voir c'est et pourquoi pas de le shooter du fichier.

Merci d'avance,
Jerms

4 réponses

cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
7 déc. 2004 à 17:06
salut,
si tu fais un traitement, tu stocke ou tu lis dans le fichier en question? eh bien si ton fichier est ouvert par ton prog, les autres utilisateurs ne peuvent pas le modifier! Ils ne pourront que le lire!
Sinon tu peux soit utiliser un serveur FTP (les utilisateurs passeront par le ftp et tu pourras gérer les accès, les dossiers, etc), soit tu mets le fichier en fichier caché (seulement si les autres utilisateurs n'y connaissent rien), soit tu met ton fichier dans un dossier non partagé et si tu dois le mettre sur le réseau, et bien quand c'est fini (le traitement), tu le bouge dans le dossier partagé.

En espérant que ça t'as aidé

--------------------------------------------------------------------------
Parrainage pour Prizee (gagner de l'argent), un clic n'engage à rien.
http://www.prizee.com/?refer=Benoitp59
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
7 déc. 2004 à 20:01
Salut,

une idée : Mettre un snifer sur le fichier qui lors d'un accès enregistre le nom de la machine dans un fichier texte.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cs_jerms Messages postés 115 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 3 janvier 2016
8 déc. 2004 à 19:15
Merci déjà pour vos réponses.

En fait c'est un peu plus compliqué que ca. J'ai une base de données, le truc c'est que c'est du DOS ou presque (DATAEASE !!).

L'architecture de cette outil de BDD est fait de tel sorte que chaque élément (table, requete, formulaire, ...) est représenté par un fichier sur le disque.

C'est une appli sur le reseau, et multi-user, donc il se peut que plusieurs utilisateurs accèdent en meme temps à une table et donc ils sont plusieurs sur le même fichier.

Or j'ai besoin de faire toutes les nuits une reorganisation de la base (c'est plus ou moins un compactage sous access). Mais je ne peux pas le faire si quelqu'un est connecté a la base, car j'ai besoin de la locker.

Ce qui fait que si quelqu'un ne s'est pas déconnecté le soir, mon logiciel (qui est un peu con il faut l'admettre) se met en attente jusqu'a ce qu'il puisse bloquer la base.

Donc moi j'arrive le matin, et on me dit "Ca n'a pas marché !", je regarde et la seule chose que je peux pointer avec mon batch (ah les bonnes vieilles commandes DOS !), c'est que le traitement c'est déclanché à 20h comme prevu, mais qu'il s'est terminé à 8h du mat au lieu de 20h30 !

Et je suis incapable de dire au chef de production, que c'est untel ou untel ne s'est pas deconnecté correctement ce ne sont que es suppositions.

Tout ca pour dire qu'en fait je ne peux pas cacher le fichier, ou par FTP ou dans un dossier partagé, si seulement.

Par contre l'idée du Snifer ca m'interesse de creuser, tu peux m'en dire un peu plus, STP ?

J'ai vu qu'il existait un objet FileSystemWatcher, qui permettait de surveiller un fichier ou un repertoire, mais je n'arrive pas a déclancher quand quelqu'un ouvre le fichier, et encore moins à surveiller un repertoire sur un lecteur reseau. Si quelqu'un à un tuyau !!

Merci et bonne soirée,
Jerms
0
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
8 déc. 2004 à 19:56
Ou sinon peut-être que tu pourrais faire "une demande de déconnexion" avant de lancer ton traitement.
Je m'explique.
Quand l'heure est venue de traiter la bdd, ton prog se connecte sur chaque pc du réseau (en espérant qu'il n'y en a pas des centaines) grace à un autre petit programme que tu ferais (utilise winsock) et qui déconnecterais le pc soit:
- avec une ligne de commande pour lacher la bdd
- faire un logout de windows ou éteindre le pc
après ça, zioup, le prog renvois une info sur ton pc et après qu'il a fait sa demande à tt le réseau, il lock la bdd et commence son taf.

Voilà, c'est juste une idée parmi d'autres.

Sinon l'idée du snifer est pas mal non plus. Ca consiste à détecter si le pc distant à le port de communication (pour parler avec la bdd) est ouvert ou non. S'il est ouvert c'est qu'il n'est pas utilisé => pas connecté, sinon......

Enfin, pour le filesystemwatcher, je peux pas t'aider, je ne connais pas cette fonction! :sad)

Bonne chance

--------------------------------------------------------------------------
Parrainage pour Prizee (gagner de l'argent), un clic n'engage à rien.
http://www.prizee.com/?refer=Benoitp59
0
Rejoignez-nous