Si vous ne pouvez pas toucher au code de l'application et que l'application elle-même ne transmet pas déjà ces informations à la base de données, vous êtes dans une impasse. La seule façon de rendre ces informations disponibles pour le code back-end est que le niveau intermédiaire les transmette.
Oracle fournit un certain nombre de moyens aux applications pour transmettre des informations du niveau intermédiaire au back-end, mais l'application doit être conçue pour en tirer parti. Le DBMS_APPLICATION_INFO
package, par exemple, a un set_client_info
procédure qui permet au niveau intermédiaire de transmettre le nom de l'utilisateur du niveau intermédiaire que votre déclencheur principal pourrait interroger. Vous pouvez également utiliser contextes Oracle si vous voulez un mécanisme plus général. Cependant, l'une ou l'autre de ces approches nécessite de manière réaliste que l'application Java soit écrite pour transmettre ces informations au back-end lorsque les connexions sont extraites du pool de connexions.