Subject | Managing transactions in mixed IBO/BDE environment |
---|---|
Author | Nando Dessena |
Post date | 2001-10-04T11:51:48Z |
Hello everybody,
I have a bit of a problem trying to add IBO TDataSet-compatible
components to a BDE system.
I have succesfully made my TIBOQuery use a BDE-provided connection
thanks to TIBODatabase.dbHandleShared, which gets assigned the native IB
connection handle obtained through a TDatabase component.
My problem now is getting the transactions work correctly.
Suppose I have a TDatabase, TIBODatabase, TQuery and TIBOQuery, and want
to make them act in the same transaction context.
When I call the StartTransaction/Commit/Rollback methods of the
TDatabase, as expected, the TIBOQuery is not affected; conversely, if I
call the TIBODatabase methods, instead, the TQuery doesn't notice at
all. If it were only for explicit transactions it would be difficult
enough, but in addition I need to make it work everything under the same
transaction context when the BDE is doing its autocommit chores (this
last requirement may fall as I explore the matter in more detail).
Does anyone have anything to suggest to make at least the explicit
transaction scenario work? I have subclasses of all thye components
named in this post, so I am able to work at any allowed level.
Would the trHandle property of TIB_Transaction be of any help here?
Thanks
--
____
_/\/ando
I have a bit of a problem trying to add IBO TDataSet-compatible
components to a BDE system.
I have succesfully made my TIBOQuery use a BDE-provided connection
thanks to TIBODatabase.dbHandleShared, which gets assigned the native IB
connection handle obtained through a TDatabase component.
My problem now is getting the transactions work correctly.
Suppose I have a TDatabase, TIBODatabase, TQuery and TIBOQuery, and want
to make them act in the same transaction context.
When I call the StartTransaction/Commit/Rollback methods of the
TDatabase, as expected, the TIBOQuery is not affected; conversely, if I
call the TIBODatabase methods, instead, the TQuery doesn't notice at
all. If it were only for explicit transactions it would be difficult
enough, but in addition I need to make it work everything under the same
transaction context when the BDE is doing its autocommit chores (this
last requirement may fall as I explore the matter in more detail).
Does anyone have anything to suggest to make at least the explicit
transaction scenario work? I have subclasses of all thye components
named in this post, so I am able to work at any allowed level.
Would the trHandle property of TIB_Transaction be of any help here?
Thanks
--
____
_/\/ando