Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   componente TIBtransaction+ClientDataSet (https://www.clubdelphi.com/foros/showthread.php?t=85683)

Toni 17-04-2014 12:00:20

componente TIBtransaction+ClientDataSet
 
Hola a todos!

Se que ya se a hablado mucho sobre los componentes IBX y su utilizacion con ClientDataSets. Yo los utilizo hace mucho tiempo y con buenos resultados. Hasta ahora los solia utilizar en mis aplicaciones con un unico componente TIBtransaction asociado al TIBDatabase. Ahora queria dar un paso mas para optimizar la aplicación y estaba buscando la forma de utilizar varios. Uno para uso exclusivo de las consultas de datos y otro para las consultas actualizables. Me gustaria saber vuestra opinion al respecto de que recomendais para esta modelo.

Buscando información al respecto e visto la siguiente anotacion en la ayuda del C++ Builder 6 en el componente TIBtransaction:

Cita:

Note: In applications that connect an InterBaseExpress dataset to a client dataset, every query must be in its own transaction. You must use one transaction component for each query component.
La verdad me he quedado a cuadros, sino entiendo mal dice que cuando se trabaja con clientdataset cada query tiene que tener un ibtransaction... Teneis idea de si esto es cierto?

La verdad tenia entendido que en el modelo IBQuery+DataSetProvider+ClientDataSet el provider se encargaba de abrir y cerrar la transaccion y por eso inicialmente con un unico IBTransaction era suficiente.

Saludos!

Toni 03-09-2014 20:38:00

Nadie opina al respecto..

juanelo 03-09-2014 20:55:39

Que tal Toni,
No es exacto lo que interpretas, lo que te quiere decir la ayuda, es que cada una de las Querys que tengas deben de trabajar en el contexto de una transaccion, recuerda que es el modo de trabajar de IB/FB.
El que tengas un solo objeto IBTransacction no está para nada mal, este es el encargado de administrar dicha transaccion que le ha sido dada por IB/FB.
A menos que manejes hilos (Threads), no es necesario manejar varias instancias de este objeto (IBTransacction ).
Saludos.

Casimiro Notevi 04-09-2014 00:28:19

No es necesario usar más de uno.
Aunque puedes hacerlo si quieres para temas puntuales, traspasar datos a otras bases de datos, procesos que por algún motivo quieras separarlo del principal, etc.
Pero en principio no es necesario.

Toni 10-09-2014 13:47:21

Muchas gracias por las respuestas!

Entonces mi interpretacion de la ayuda en ingles era incorrecta. Ademas de esto resulta que tengo problemas en una aplicacion con transacciones no cerradas correctamente y me acumula basura en la base de datos. Pero tiene que ser las consultas que realizo a la base de datos de lectura..

saludos!


La franja horaria es GMT +2. Ahora son las 23:18:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi