Manejar errores de conexión en Triggers

Hola Denciso, como va todo, vuelvo acudir a tus conocimientos por la siguiente razón: Tengo un trigger que actualiza en una tabla remota y obviamente al cortartarse la conexión sale un error y por ende ninguna de las dos tablas ni la local ni la remota. El procedimiento esta echo para eso justamente osea cuando no hay conexión se pueda seguir agregando registro y al haber conexión se transfieran todos los registro que anteriormente no se han transferidos.
El problema que tengo es que no puedo capturar el error de manera de poder seguir con el código, o cómo hago para saber si hay conexión o no. Este es un ejemplo de como estoy haciendo:
Trigger update:
SET NOCOUNT ON
/* listar los servidores disponibles en la red */
DECLARE @Serv varchar(30)
SET @Serv = ''
CREATE TABLE #servers(sname VARCHAR(255))
INSERT #servers EXEC master..XP_CMDShell 'OSQL -L'
/* Guardo en una variable si figura el servidor remoto */
SELECT @Serv = sname FROM #servers WHERE ltrim(sname) = 'PC-REMOTA'
DROP TABLE #servers
IF LTRIM(@Serv) = ' ' or @Serv IS NULL OR @@ERROR = 17
-- si no esta el servidor
BEGIN
PRINT 'NO '
END
ELSE
-- si esta el servidor, actualizar
BEGIN
SET REMOTE_PROC_TRANSACTIONS ON
SET XACT_ABORT ON
BEGIN DISTRIBUTED TRAN
UPDATE PC-REMOTO.BD.dbo.TABLA...etc,
Este código no funciona.
Cualquier ayuda o sugerencia desde yá muchas gracias...
Respuesta
1
Pero los triggers son procesos o programas que se desencadenan al momento de realizar algún proceso de actualización dentro de una tabla, update, delete o insert. Para lo que deseas realizar no creo posible lo comentado, ya que sale del ámbito de un trigger. Sugiero que veas la forma de programar un servicio con visual basic que sea el que grabe o verifique las conexiones de los servidores, ahí es más fácil hacer estas verificaciones y recibir los errores...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas