variable global

12/08/2004 - 17:19 por Daniel | Informe spam
hola a todos.

Existe alguna forma de hacer global una variable a todo el
sql server?
cuando ingreso al sistema, pido un operador y clave para
validarlo, como puedo hacer para utilizar ese numero de
operador en procedimientos almacenados, trigger, etc?
Obviamente que deberia poder setearlo por sesion. Es decir
que habiendo varias sesiones abiertas, cada una deberia
utilizar su numero de operador.
Utilizo VB 6.0 y sql server 2000.

gracias

Preguntas similare

Leer las respuestas

#6 Miguel Egea
13/08/2004 - 19:41 | Informe spam
Bueno pues aquí está. Esto no impide que alguien se pueda hacer pasar por
otro, pero creo que si que resuelve tu problemática...


use tempdb
go
Create Table Usuarios (idUsuario smallint Not null primary key ,
nombreUsuario nvarchar(100) default suser_sname())
go
insert into usuarios values(1,N'Miguel Egea')
insert into usuarios values(2,N'Antonio lopez')
go
Create table UsuariosActivos (idusuario smallint not null primary key ,
spid smallint not null )
go

go
/* a este tienes que llamarlo al hacer login con el id del usuario */
create proc registraEntrada @idUsuario smallint
as
begin
set nocount on
/* en pricipio en esta tabla caben 1000 usuarios conectados en una única
página
por lo que un índice no sería demasiado efectivo */
delete from usuariosactivos where idusuario=@idusuario
/* Registramos la entrada */
insert into UsuariosActivos (idusuario,spid) values(@idusuario,@@spid)
end

go
create function fn_QuienSoy() returns nvarchar(100)
as
begin
declare @nombre nvarchar(100)
select @nombre=NombreUsuario
from Usuarios u
Inner Join UsuariosActivos ua on u.idUsuario = ua.idUsuario
where spid=@@spid
return @nombre
end

go
/* ejemplo de uso */

Exec registraEntrada 1
select dbo.fn_quiensoy()
go
Exec registraEntrada 2
select dbo.fn_quiensoy()


-
Miguel Egea Gómez
Microsoft SQL-Server MVP
Webmaster de PortalSql.Com
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Daniel" escribió en el mensaje
news:585601c48132$3c889b30$
si podes hacer el ejemplo mejor.

muchas gracias

Llama a un procedimiento almacenado tuyo y graba tu


codiggo de usuario y el
resultado de @spid en una tabla, Despues puedes crear


una funcion que te
devuelva el codigo de tu usuario a traves del spid con el


que acaba de
entrar.

Si no se entiende puedo programar un ejemplillo y


publicarlo en portalsql.


-
Miguel Egea Gómez
Microsoft SQL-Server MVP
Webmaster de PortalSql.Com
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Daniel" escribió


en el mensaje
news:50df01c4809a$29a7d3c0$
Maxi,

gracias por responder.
cuando cada usuario ingresa al sistema, se le pide un
codigo de operador que es lo que me interesa.
Se de SUSER_SNAME(), pero queria hacerlo con el codigo de
operador.
Se puede?

gracias.
Hola, creo que estas teniendo un problema de diseño

Cuando te conectas a SQLServer lo haces via un inicio de


sesion que el Sql
conoce a la perfeccion, para poder saber podes usar


SELECT SUSER_SNAME()

Es esto lo que estas buscando?


Salu2





-
-
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET





-
-
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Daniel" escribió


en el mensaje
news:4c3301c4807f$d30c5820$
hola a todos.

Existe alguna forma de hacer global una variable a todo




el
sql server?
cuando ingreso al sistema, pido un operador y clave






para
validarlo, como puedo hacer para utilizar ese numero de
operador en procedimientos almacenados, trigger, etc?
Obviamente que deberia poder setearlo por sesion. Es




decir
que habiendo varias sesiones abiertas, cada una deberia
utilizar su numero de operador.
Utilizo VB 6.0 y sql server 2000.

gracias






Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system




(http://www.grisoft.com).
Version: 6.0.732 / Virus Database: 486 - Release Date:


29/07/2004


.





.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida