SQL - TSU

 
Vista:

TSU

Publicado por Dorian Arjona (6 intervenciones) el 27/09/2006 19:24:18
Estoy haciendo una actualizacion de nombres de usuarios que provienen de varias bases de datos, ¿como puedo controlar que cuando falle la conexion con alguna base de datos, la ignore y pase a la siguiente? todo lo hago dentro de un procedimiento almacenado
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:TSU

Publicado por Isaías (5072 intervenciones) el 27/09/2006 20:12:46
Depende como estes haciendo las conexiones, ¿Como sabes que fallan?
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

controlar conexion

Publicado por dorian (6 intervenciones) el 28/09/2006 00:21:31
utilizo un fetch para recorrer los nombres de los usuarios y la BD(sucursal) a la que pertenecen, tengo una tabla con las IPs y nombres de BDs con la que armo una cadena de conexion. por ejemplo : [192.168.124.20].dbo.usuarios y por cada fila recorrida hago una conexion, mi procedimiento se detiene cuando una de las BDs no tiene red en ese momento. Sale el error "No se encuentra el servidor o se ha denegado el acceso" y ya no sigue con las otras filas.
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:controlar conexion

Publicado por Isaías (5072 intervenciones) el 28/09/2006 18:21:46
Me hablas de FECTH, me suena a CURSOR, ¿es SQL SERVER de Microsoft?
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:controlar conexion

Publicado por dorian (6 intervenciones) el 28/09/2006 20:36:58
si, es un cursor de sql server de microsoft
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:controlar conexion

Publicado por Isaías (5072 intervenciones) el 28/09/2006 20:40:19
perfecto, entonces deberas validar antes la conexion con OSQL.EXE, te anexo la rutina:

-- Valida que un SERVIDOR (BASE) tengan conexion
--SET NOCOUNT ON
--CREATE TABLE #respuesta (col1 VARCHAR(100))
--INSERT INTO #respuesta
--exec master..xp_cmdshell 'osql -U user -P password -S server -d database'
--IF (SELECT TOP 1 COL1 FROM #respuesta) = '1>'
-- PRINT 'CONEXION EXITOSA'
--ELSE
-- PRINT 'NO SE PUEDE CONECTAR A BASE DE DATOS'
--SET NOCOUNT OFF

En realidad deberias validar si el exec de master..xp_cmdshell, te regresa -1, entonces, no hay conexion a tu server-base.

Espero sirva.
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:controlar conexion

Publicado por dorian (6 intervenciones) el 28/09/2006 23:11:59
OK, muchas gracias
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