Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Cerrar conecciones ODBC a base de datos en SQL server

Estas en el tema de Cerrar conecciones ODBC a base de datos en SQL server en el foro de SQL Server en Foros del Web. hola, desde ya gracias por la atencion, mi tema es que tengo una base de datos en SQL server y algunos usuarios olvidan abierta la ...
  #1 (permalink)  
Antiguo 17/10/2008, 09:55
Avatar de moishefire  
Fecha de Ingreso: octubre-2008
Mensajes: 69
Antigüedad: 15 años, 6 meses
Puntos: 0
Cerrar conecciones ODBC a base de datos en SQL server

hola, desde ya gracias por la atencion,
mi tema es que tengo una base de datos en SQL server y algunos usuarios olvidan abierta la coneccion, que es ODBC, queria saber si existe alguna manera de configurar el la conexion de cada usuario para que pasado un tiempo de inactividad se cierre la coneccion ODBC, mil gracias, saludos, todos los consejos, sugerencias y preguntas seran agradecidas
  #2 (permalink)  
Antiguo 17/10/2008, 15:32
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Cerrar conecciones ODBC a base de datos en SQL server

El cierre se hace de forma automatica, pasado un tiempo.

Ahora si quieres hacer el cierre manual, entonces podrias intentar por:

DECLARE @SQL nvarchar(30)
DECLARE @Identificador int
DECLARE @FechaHora datetime
DECLARE @AHORA Datetime
DECLARE Cursor_Usuarios CURSOR FOR
select spid,last_batch
from master..sysprocesses
where program_name like 'PONER_NOMBRE_APLICACION'
AND dbid = 6 and loginame not like 'sa%'

-- dbid=6 es la base de datos que me interesa, se puede poner otra o no poner nada para que sean todas

-- loginame not like 'sa%' --esto es para que no me cierre mis sesiones

SELECT @AHORA=GETDATE()
OPEN Cursor_Usuarios
FETCH NEXT FROM Cursor_Usuarios INTO @Identificador,@FechaHora
WHILE (@@FETCH_STATUS <> -1)
BEGIN
IF (@@FETCH_STATUS <> -2)
BEGIN
IF ABS(DATEDIFF(minute,@FechaHora,@AHORA))>=30
BEGIN
set @SQL= 'kill ' + convert(char,@Identificador)
exec sp_executesql @SQL
END
END
FETCH NEXT FROM Cursor_Usuarios INTO @Identificador,@FechaHora
END
CLOSE Cursor_Usuarios
DEALLOCATE Cursor_Usuarios
GO
  #3 (permalink)  
Antiguo 20/10/2008, 11:45
Avatar de moishefire  
Fecha de Ingreso: octubre-2008
Mensajes: 69
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Cerrar conecciones ODBC a base de datos en SQL server

desde ya muchas gracias iislas
este codigo es todo transac SQL verdad?
este codigo cerraria todas las conecciones menos la mia que son sa, puede ser?
se puede poner para que cierre solo las conecciones que estas sin hacer uso, o se puede configurar eso en el origen de datos ODBC?
supongo que tambien se debe poder hacer con codigo como el que escribiste revisando alguna tabla de la base de datos master del server, y usando un triger qe lo revise de vez en cuando, pienso, pero antes de ver esa solucion, pensaba en configurar el ODBC, que opinas?
muchas gracias
  #4 (permalink)  
Antiguo 20/10/2008, 13:58
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Cerrar conecciones ODBC a base de datos en SQL server

Si, todo es T-SQL

Las respuestas a tus preguntas, estan comentariadas

-- dbid=6 es la base de datos que me interesa, se puede poner otra o no poner nada para que sean todas

-- loginame not like 'sa%' --esto es para que no me cierre mis sesiones

Ademas, son aquellas conexiones que tengan mas de 30 segundos (IF ABS(DATEDIFF(minute,@FechaHora,@AHORA))>=30) abiertas sin hacer nada.
  #5 (permalink)  
Antiguo 22/10/2008, 06:42
Avatar de moishefire  
Fecha de Ingreso: octubre-2008
Mensajes: 69
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Cerrar conecciones ODBC a base de datos en SQL server


muchas gracias, te debo una con faina y una jarra de tirada, salud
  #6 (permalink)  
Antiguo 22/10/2008, 13:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Cerrar conecciones ODBC a base de datos en SQL server

No se si decir un "Gracias" o tomar precauciones, ya que en MEXICO (mi pais de origen), no se conoce ni la "faina" ni la "tirada".

Saludos
  #7 (permalink)  
Antiguo 23/10/2008, 06:55
Avatar de moishefire  
Fecha de Ingreso: octubre-2008
Mensajes: 69
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Cerrar conecciones ODBC a base de datos en SQL server

iislas, te explico, el faina viene para comer con la pizza, y me referia a cervezatirada, jaj, vale la explicacion, muchas gracias, saludos, por la interculturalidad!!
  #8 (permalink)  
Antiguo 23/10/2008, 17:28
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Cerrar conecciones ODBC a base de datos en SQL server

Muchas gracias a ti por la explicacion y bueno, tomaremos una cuantas chelas (cervezas) o serpientes elasticas, bien frias. acompañadas de su pitzza
  #9 (permalink)  
Antiguo 30/10/2008, 11:57
Avatar de moishefire  
Fecha de Ingreso: octubre-2008
Mensajes: 69
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Respuesta: Cerrar conecciones ODBC a base de datos en SQL server

iislas, tengo una complicacion,
te explico, el codigo que me diste esta muy bueno,
ahora el tema esta en que cuando cierro las conexiones en el servidor no aparecen desconectadas en una llave que registra los accesos a la base de datos, el tema es que necesito de alguna manera que en cada usuario se ejecute un codigo que cierre su coneccion para que el servidor, ademas de cerrar la coneccion, que es lo que hace el codigo que me enviaste, pase por la llave que tiene el servidor y permita a otros usuarios ingresar, ya que queda registrado el acceso y no la salida, es todo un caso esto, no se si me explique bien, me entiendes' que me recomiendas?
saludos
  #10 (permalink)  
Antiguo 31/10/2008, 18:06
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Cerrar conecciones ODBC a base de datos en SQL server

No se a que te refieras con que "quede registrada la salida", ¿donde es que debe quedar registrada la salida?
  #11 (permalink)  
Antiguo 04/11/2008, 11:30
Avatar de moishefire  
Fecha de Ingreso: octubre-2008
Mensajes: 69
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Cerrar conecciones ODBC a base de datos en SQL server

el otro dia escribi y parece que no se dio de alta, es que tengo problemas con mi coneccion, en fin, te contesto, a lo que me refiero con que queda registrada la salida es que el servidor tiene una llave por software que registra cuando alguien se conecta y desconecta, entonces al cerrar las conecciones, se desconecta de la base de datos, pero aun queda registrada en la llave la entrada y no da lugar a otro usuario, me explico? gracias, saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:09.