Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Dans un trigger, connaître l'ID de l'utilisateur actif

0000002365     -      20/11/2017

Mercator offre les outils nécessaires pour récupérer l'identifiant de l'utilisateur en cours, par exemple, dans un trigger, ou dans quelconque autre script SQL. Pour activer cette fonctionnalité par rapport aux connexions SQL Aruba et Majuro, il faut mettre à OUI l'option "Outils / Options / Autres / Communiquer info de contexte à la connexion SQL". (id=SQLCTXINFO). Il faut ensuite redémarrer Mercator.

Dans tout script SQL, l'identifiant de l'utilisateur peut être récupéré via :

select [dbo].[GET_ID_USER]()

En ce qui concerne les connexions SQL établies par les composants .net de Mercator (Aruba et Majuro), l'ID de l'utilisateur est récupéré dans les informations de contexte placées lors de chaque connexion SQL. Pour la connexion permanente établie par la version legacy, l'ID de l'utilisateur est trouvé par croisement de la table des sessions en cours et le n° de connexion SQL (SPID)

Bien entendu, si le script SQL qui utilise GET_ID_USER est activé en dehors de Mercator, l'ID de l'utilisateur ne pourra être obtenu par cette fonction.