-
Qui a ouvert une table ?
Bonjour
Dans le cadre d'une application multi-utilisateurs, une opération spécifique demande d'avoir un accès exclusif à certaines tables d'une base.
Je pense que si une table est ouverte par un client A, ouvrir la table en mode exclusif peut se faire grâce à l'aide de verrous.
Mais si l'accès exclusif se révèle impossible, est-ce qu'il y a un moyen de savoir quel utilisateur travaille sur la table en question ?
Est-ce qu'il y a un moyen simple de savoir qui fait quoi sans pour autant devoir mettre en place un système de surveillance ?
-
Bonjour,
L'utilisateur est défini à quel niveau / comment ?
-
Suite aux conseils que l'on m'a donnés ici, chaque utilisateur de l'application aura un compte utilisateur dédié dans MySQL.
Les droits seront réduits au nécessaire, ajout, insertion et suppression de données ainsi qu'exécution de fonctions ou procédures.
-
Certains SGBD identifient et mentionnent dans la log le nom du thread concurrent qui a verrouillé la ressource, mais ce n'est malheureusement pas le cas de MySQL. Il reste la commande SHOW PROCESSLIST qui permet de visualiser les traitements en cours, pas terrible, mais mieux que rien :?
-
Je pensais à quelque chose de plus simple mais bon, si rien n'est vraiment prévu, je vais essayer d'implémenter une gestion dans l'application cliente.
Merci
-
Attention, la gestion des accès concurrents ne sera jamais fiable à 100% coté application, seul le SGBD peut le faire.
-
Je me doute bien que ce ne sera jamais parfait.
Il faudra peut-être que j'utilise une autre solution. J'y réfléchis encore :-)
Pour l'instant, le système utilise de vieux fichiers DBase. Facile pour savoir si quelqu'un utilise le fichier, pas très pratique pour savoir qui mais faisable quand même. Quand l'application passera en MySQL, il faudra que je vois comment faire un système "similaire".
-
Dbase :weird:, ça me rappelle ma jeunesse :P, ça ne date pas d'hier ça, je ne savais pas que le produit existait encore !
-
Il existe encore et a même évolué mais le logiciel sur lequel je travaille est toujours en DBase 4.
Et je me bats avec un logiciel très mal foutu pour essayer de me débarrasser de ça.
Pas simple du tout ... A tel point que j'en suis à la troisième tentative et que je profite de mon tout nouveau temps libre pour reprendre ça tranquillement sans la pression du patron ;-)