Publish date: 2001-01-03

Support of automatic transactions

Automatic transaction start and commit

The main cardinal change is in accordance with implementation of operation auto-commit support. As far as this mode is not optimal for work with SQL-server, by default the mode is off. To work in auto-commit mode you may set «auto_commit=true» in connection string or set «Session AutoCommit=true» session's property if connection was made already. To set the mode off you may start transaction directly using the session's methods (or by ADODB.Connection.BeginTrans) or by executing «SET TRANSACTION» query. With last way you start transaction with specific parameters, which you may not supply with provider yet.

Provider can define transaction's start/commit/rollback queries and applies its to the session.

Auto-transactions are private. That is to say, if you open several result sets in auto-commit mode, private transaction will be connected with each of it. Commit will called if set closes. Another query types (excluding transaction control commands) will terminate automatically with commit calling for its local transaction. This scheme isolates open queries from data modification commands and excepts need in reopening (or additionally loading) of result sets, as in BDE.

The isolation level of auto-transactions can be defined as «auto_commit_level» parameter in connection string or if connection was made already by «Autocommit IsolationLevels» session parameter. The values of this parameters are the same:

0x1000 Read Commited (Cursor Stability)
0x10000 [default] Repeatable Read (Snapshot, Concurrency)
0x100000 Serializable (Isolated, Consistency)

Provider's name change

To avoid name conflicts the provider's registered name was changed from «IBProvider» to «LCPI.IBProvider». Therefore after new DLL registered you should use the new name to create the provider.

The DLL name was not changed and it is «_IBProvider.dll» still.


Publish date: 2001-01-03. Copyright: IBProvider. This material may be reproduced on other web sites, without written permission but link https://www.ibprovider.com/eng required.