Subject RE: [IBO] Transaction processing
Author Jason L. Wharton
Jack,

> I have ported my application to IBObjects in the last three weeks. It
> runs successfully in single mode and in testing on a multi-user
> functionality, I found a problem. I had a stored procedure to delete
> data out of a small table during startup and did not have a start
> transaction and Commit transaction enclosing the execution of this
> command. I got an error on the second application of a deadlock
> detected. I then added the start trans and commit trans and that got
> me past that point but it brings up a question on my part.
>
> My application uses start transaction and commit transaction around
> all sets of SQL commands and Stored procedures( except a few that the
> BDE did not complain about) and the BDE was set a Shared NoAutoCommit.
> My application is transaction based for handling multiple retail
> stores accessing a single database on a Windows server using terminal
> services for speed and written using Delphi 6 Enterprise. It has been
> running for seven years successfully. Should I be using TiConcurrency
> or the Ticonsistency. I believe it should be TiConcurrency?

Yes, tiConsistency is a very strict and demanding level of isolation that
isn't used except for times when you require more or less exclusive access
to the data, and that goes for reading as well as writing.

In past versions of IBO there was a mis-translation of isolation levels when
reading the BDE settings and converting them to the IBO transaction
isolation levels. What version of IBO are you using and did you use the BDE
to IBO Conversion guide?

Thanks,
Jason