Hi,
I'm having difficulties understanding the System.Transcaction Integration
for FbConnection.
(a) Why is it not possible to enlist in a transaction dynamically?
One has to use Enlist=true in the connection string during Open() to
get a _enlisted_ connection.
What if I want to enlist dynamically later? The EnlistTransaction()
should do that, but it does
not do what the name says, as it requires the Enlist option to be set.
And that can only be set
from the connection string for Open() ....
If one looks at the Oracle provider, there we have a
Enlist=false/true/dynamic setting which
actually better describes the configuration. Even better would be to
allow dynamic enlistment
without looking at the connection string options; that should be
possible.
(b) If Enlist=true is given during Open(), but no System.Transaction is
returned from System.Transaction.Current,
the data provider crashes.
(c) The isolation level is hard wired to be ReadCommitted, despite what the
System.Transactions.Transaction
instance says. This makes it practically impossible to use other
isolation levels with Firebird although
that would easily be possible.
(d) It seems there is no real prepare phase and not a real integration into
MSDTC supporting reenlistment
in case of a crashed MSDTC. Is this documented somewhere or am I
missing something?
(e) It seems to me that prepared statements cannot be used in an enlisted
transaction as one is not
able to obtain the database transaction to set that to
FbCommand.Transaction.
Is anyone else having success with the System.Transaction Integration?
Thanks -
Thomas
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Firebird-net-provider mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider