Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2009, 09:53
Alextroy
 
Fecha de Ingreso: marzo-2005
Mensajes: 189
Antigüedad: 19 años, 1 mes
Puntos: 0
¿Que hacer con DBLink inactivo?

Hola, tengo un problema con un procedimiento que estoy haciendo.

Básicamente se trata de un trigger AFTER INSERT sobre una tabla, que introduce los datos en otra tabla de otra base de datos a traves de un DBLINK. Básicamente, las lineas de código problemáticas tienen esta estructura:

EL trigger llama a un procedimiento que tras unas comprobaciones ejecuta la siguiente sentencia:

IF <condicion> THEN
INSERT INTO tabla@db_link (campo1,campo2...) VALUES (valor1,valor2...);
END IF;


Claro, el problema es que si la base de datos a la que apunta el DBlink esta caida, la base de datos "origen" peta y no deja introducir mas valores en esa tabla, por lo tanto la aplicación que la usa también peta...

¿alguien sabe como puedo programar el procedimiento para que primero compruebe si el dblink está activo y entonces haga el insert?

O también habia pensado en usar algún tipo de error de excepción, similar al RESUME NEXT de VB, aunque supongo que en PL/SQL será de otra forma....

¿alguna idea?

Gracias y un saludo