SQL - Ammm... Bitacora

 
Vista:

Ammm... Bitacora

Publicado por Daniel_26 (73 intervenciones) el 05/12/2003 04:12:39
Que ondas amigos...

Me quede patinando en algo... je... resulta que quiero llebar una bitacora de los usuarios que entran a mi sistema... cualquier movimiento que hagan debo de registar un movimiento en mi bitacora... he pensado en realizar un triger en cada una de mis tablas que intervienen en mi aplicacion y asi generar mi bitacora... mi duda esta en como voy a registrar el id del usuario, ya que en la tablas no guardo el id del usuario.. simplemente tomaria el id del usuario que entro al sistema... pero al hacer el triger en las tablas debo tomar el id del usuario, pero pues no existe en la tabla y hasta ahorita no se si le pueda enviar algun parametro que no sea desde la tabla que lo activa... me imagino que no s epuede, ya que se ejecuta automaticamente... he pensado en agregar el campo id_usuario en cada una de las tablas... seria lo mas optimo??? o existe alguna otra forma de realizarlo???

bueno, gracias de antemano...

Daniel_26
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ammm... Bitacora

Publicado por Isaías Islas (5072 intervenciones) el 05/12/2003 18:25:40
Hola Daniel

No es necesario dar de alta tu usuario por cada tabla, existe una funcion de sistema que le permite obtener el usuario de la sesion, verifica:

Algo asi como:¿Quien soy yo?

select current_user
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ammm... Bitacora

Publicado por Daniel (73 intervenciones) el 05/12/2003 21:37:17
Que onda...

Asi es... con eso obtengo el usuario que tiene la conexion... jeje, la bronca aqui es que los usuarios que se conectan a traves de una aplicacion X, lo hacen con su id_usuario que existe en una tabla X de seguridad, es decir en la tabla Usuarios, ahi se dan de alta los usuarios que tienen privilegios en la aplicacion X, no en el servidor... en el Server existen como 3 cuentas de usuarios, pero los usuarios del sistema son muchos, los cuales se conectan con una cuenta de SQL a traves de la aplicacion X... y se supone que quien hace modificaciones es el usuario que entra a mi aplicacion X con su id_usuario, que no está registrado en SQL, sino en mi tablita normalita de usuarios que accesaran a la aplicacion X.
Como te daras cuenta, no tomo al usuario de SQL que inició la sesion, sino debo tomar al usuario que entró a mi aplicacion y ejecutó alguna transaccion.

Ammm, espero haber sabido explicarme... je...

Saludos y gracias...

por cierto... voy terminando un curso de administracion de SQL, je, netas que como trae cosas que uno no sabia... y todo lo que tiene y no vimos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ammm... Bitacora

Publicado por Isaías Islas (5072 intervenciones) el 05/12/2003 21:57:52
Daniel

¿Eres Mexicano?, digo por lo de tu forma de expresarte, es muy comun en mi pais (Mexico).

Tu explicacion esta muy Cantinflesca, la tablita, la otra tablita, la aplicacion X, la otra aplicacion X.

Por lo que entiendo la Administracion de los usuarios que realizan actualizaciones a tus tablas, la llevas en una tabla que se ha creado para tal fin.

Siendo asi, la solucion la tienes solamente por el @@SPID del usuario.

No conozco tu aplicacion, pero sin conocerla, yo agregaria a tu TABLA DE USUARIOS una columna que tuviera el SPID (identificacion UNICA de la conexion) y cada que tu "usuario" se registre en tu base, ACTUALIZAR este dato tomando el SPID.

Con esto, podrias UNIR el SPID y el usuario que realiza la transaccion y obtener este dato en el Trigger de actualizacion

SELECT NombreUsuario FROM MyTablaUsuarios WHERE MySPID = @@SPID

Saludos amigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ammm... Bitacora

Publicado por Danielito_26 (73 intervenciones) el 05/12/2003 22:31:17
Que onda...

Seguro... soy de mexico... Hermosillo, Sonora..

amm, je, asi me expreso... y lo que me dices es lo que te decia al principio, en el primer mensaje... asi tengo pensado hacerle... lo que queria es ver si habria otra solucion... donde no tendria que agregar esa otra columna... pero por lo visto, tendre que agregarla, para que asi pueda detectar el usuario que realiza la transaccion...

emmm, y sorry la forma de redactar el mensaje

Gracias y hasta luego...

Daniel_26
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ammm... Bitacora

Publicado por Isaías Islas (5072 intervenciones) el 05/12/2003 22:44:01
Daniel (espero que no seas como el travieso)

El comentario tuyo, fue INCREMENTAR el usuario a CADA TABLA, yo solo te recomende, colocar una columna en tu tabla de USUARIOS donde almacenes que SPID le corresponde en ese momento del logeo.

Saludos hasta Hermosillo, yo soy del Distrito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ammm... Bitacora

Publicado por Danielito_26 (73 intervenciones) el 05/12/2003 23:07:17
ey, tienes razon

No habia entendido bien la solucion... Con tanta hambrita ya no veo ni bien...

ahora bien... sera cosa de ver como se estan haciendo las transacciones en la aplicación... aunque viendolo bien, sean como sean si se actualiza al mismo tiempo en la de usuarios pues se leeria el actual... lo checare...

gracias... je... travieso??? naaaa, no creo, soy niño weno...

bye bye
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ammm... Bitacora

Publicado por Isaías Islas (5072 intervenciones) el 06/12/2003 03:15:04
Bien amigo, el camino de la informatica, vuelva a cruzar nuestros caminos antes de hacer un CTRL-ALT-DEL de este mundo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar