PDA

Ver la Versión Completa : FIBPlus, Transacciones con los TpFIBQuery es posible?


jcanepa
31-01-2008, 01:03:06
Alguien seria tan amable de decirme si los componentes pFIBQuery, manejan transacciones como los IBSQL (IBX), porque intento hacer una transaccion con 2 tablitas nada mas y cuando hago la transaccion a traves de startTransaction, cuando voy a hacer el CommitRetaining, me da error, y me dice violacion de foreign key.

Mi caso particular, grabo un cliente, con pFIBQuery, registro una venta, y colocando el nuevo codigo del cliente creado, le hago el commit, y me sale el error, no entiendo en realidad porque esta pasando, si estoy haciendo una transaccion, es que no puedo usar este componente para transacciones?

O que estoy haciendo mal?, le agradezco su colaboracion.

Lepe
31-01-2008, 10:06:08
Si da un error de foreign key, posiblemente se trate de que tu transacción actual no puede ver el registro del cliente que acabas de añadir. Revisa el aislamiento (isolation) de la transacción (parámetros del TTransaction) y la filosofía de uso.

Si das de alta un nuevo cliente pero no haces un commit, la tabla de ventas no puede ver ese cambio de la tabla clientes.

Saludos

jcanepa
05-02-2008, 05:34:59
con los TIBSQL de los IBX me funcionaban bien creo que estos parametros
estos son mis TRParam

write
isc_tpb_nowait
rec_version
read_committed

Lo del commit en cliente no puedo! es una transaccion, necesito guardar
venta y cliente por lo de la teoria ACID, si los dos se guardan la transaccion tiene exito.

Plz si alguien me dice que estoy haciendo mal? yo creo que es en los niveles de aislamiento, pero tanta teoria me enreda.
que deberia escribir en los parametros para que ventas me vea el cambio?

isc_tpb_write
isc_tpb_read_committed
isc_tpb_rec_version
isc_tpb_no_rec_version

de verdad no entiendo?, en otras BD es el autocommit en false y listo!
x-(


Es que tenia 3 años sin programar en delphi, me habia migrado a Perl por lo
de las aplicaciones web, pero el buen hijo regresa a casa x-P.

Es que necesito hacer un programita Desktop para win32.

Y pos no me gusta mucho lo de los data-aware, me gusta controlar todo
con los componentes sencillos, trabajo mas pero me parece un poco mas rapido, bueno ustedes me diran, son los expertos!!! ;-)

Les agradezco su colaboracion, Gracias

Gracias Lepe por responder :-)