Ver Mensaje Individual
  #8  
Antiguo 27-09-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Cita:
Empezado por Axel_Tech Ver Mensaje
Gracias por contestar Guillotmarc, lo del IBEvents no lo puedo hacer porque la aplicación en cuestión está hecha en Visual Basic.NET, y lo del ON EXTERNAL lo estoy probando así:
Código SQL [-]begin IF (condicion) THEN BEGIN EXECUTE STATEMENT 'UPDATE TABLA SET CAMPO1 = ''DESCRIPCIÓN DE LA EXCEPCIÓN'' WHERE CAMPOCLAVE = ''DATO''' ON EXTERNAL DATA SOURCE '192.168.x.x:/RUTA/BASEDATOS.GDB' AS USER 'SYSDBA' PASSWORD 'password'; EXCEPTION NOMBREEXCEPCION 'Texto de la excepción.'; END end


y tampoco funciona salta la excepción pero no me hace el update. Se ve que también lo cancela. ¿Alguna idea?
¿ En serio también lo cancela ?. Entonces las consultas a la base de datos externas las debe hacer forzosamente mediante la misma transacción, es decir con un two phase commit.

http://www.ibphoenix.com/main.nfs?a=...E;ID=%27217%27

Me parece espectacular, no me lo esperaba. Aunque en este caso nos estropea lo que queríamos hacer, para un uso normal es mucho mejor tenerlo todo englobado en la misma transacción.

NOTA: Por cierto, lo de declarar explícitamente una transacción autónoma está claro que es mucho mejor, más limpio. No recordaba esta característica nueva, gracias por proponerlo Gallosuarez.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita