Hace tiempo, en un proyecto X, construí este query que devuelve el código del usuario conectado SAP B1, incluso si tiene 2 sesiones abiertas con diferente
usuario devuelve el correcto.
Select top 1 UserCode from USR5 where SessionID=@@spid order by Date desc,Time desc
SQL Server maneja una variable única para cada conexión establecida a la base de datos, llamada "spid", se puede recuperar obteniendo
select @@spid
Esa query devolverá el numero de conexión que asigna sql a la conexión establecida de ese programa, si lo ejecutan en el cliente, les entregará el numero de conexión de ese cliente, que sería diferente al ejecutarlo en el SQL Management Studio que también tiene una conexión asignada.
Luego en la tabla USR5 se guardan las conexiones de los usuarios con su spid, por lo que se debe recuperar la ultima conexión del usuario que coincide con el spid del cliente actual.
Aquií les dejo el ejemplo de 2 clientes con diferente usuario conectado.
Espero le sea de utilidad.
Salduos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
2 | |
2 | |
2 | |
1 | |
1 |