Re: Cross Transactions between ADO & ADO.Net

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



The issue of one result-set (reader) at a time has to do with transaction
ownership, not with being able to multiplex the session, so no, MARS won't
help in this particular case. That's why this is to be used only in
exception cases, it has many limitations.

--
Pablo Castro
Program Manager - ADO.NET Team
Microsoft Corp.

This posting is provided "AS IS" with no warranties, and confers no rights.


"Sahil Malik [MVP]" <contactmethrumyblog@xxxxxxxxxx> wrote in message
news:OEIpHKocFHA.3184@xxxxxxxxxxxxxxxxxxxxxxx
> Wow thats hitech. But I can see why that is being discouraged.
>
> One thing you mentioned is, if you have a pending datareader, the other
> cannot be used. Can this restriction be gotten around using MARS? (But
> isn't
> MARS session pool limited to one connection?).
>
> Sounds like a hairy solution :) but a solution nonetheless.
>
> - Sahil Malik [MVP]
> Upcoming ADO.NET 2.0 book - http://tinyurl.com/9bync
> ----------------------------------------------------------------------------
> ---------------
>
>
>
> "Pablo Castro [MS]" <pablocas@xxxxxxxxxxxxxxxxxxxx> wrote in message
> news:uXA9OsgcFHA.3184@xxxxxxxxxxxxxxxxxxxxxxx
>> There is one thing that might help here, if you're using SQL Server. This
> is
>> a feature that we don't advertise a lot and we've been removing the focus
>> from it over time; so read on if you need this as an intermediate step
> while
>> you migrate your app, *not* as a long-term solution:
>>
>> SQL Server supports something called "bound sessions", where two
> connections
>> (to the same server) can be bound to the same transaction, without
> involving
>> a distributed transaction coordinator. Bound sessions require careful
>> coordination, as while you use one (e.g. have a pending data-reader) you
>> cannot use the other. If those limitations are ok with you, then you can
>> find out how to use bound sessions in SQL Server Books Online (it's
>> fairly
>> easy), start by looking at the sections for "sp_getbindtoken" and
>> "sp_bindsession"
>>
>> --
>> Pablo Castro
>> Program Manager - ADO.NET Team
>> Microsoft Corp.
>>
>> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>>
>>
>> "Brent" <brentwa@xxxxxxxxxxxxxxxx> wrote in message
>> news:u1ChPVDcFHA.2696@xxxxxxxxxxxxxxxxxxxxxxx
>> > Hi, we are changing our application from VB6 to VB.Net. This is far
>> > from
> a
>> > trivial upgrade. We have over 400 forms and 40 dll's. We can't just
>> > take
>> > down our production application and start the whole project from
> scratch.
>> > We have to convert this stuff in stages. Our application design is
> pretty
>> > much 2-tier. We connection to SQL server when the application starts
>> > and
>> > then disconnect when the application unloads. We even call ADO code
>> > from
>> > our dll so transactions are scattered all over the code between dll's
> and
>> > the main application. I guess the problem comes in when we are upgrade
>> > some code will be ADO & some code will be ADO.Net. I came up with an
> idea
>> > which i think would work which would be to hose both our ADO object ( a
>> > wrapper we wrote for ADO) and ADO.Net wrapper in COM+. We could then
>> > use
>> > the DTC cordinator from COM+ to handle the transactions between ADO.Net
> &
>> > plain ADO for us.
>> >
>> > Does anyone see a better solution. The solution i came up with would
>> > require two connections to the DB and if possible we would like a
> solution
>> > only requiring one conneciton. We are also concerned about throughput
>> > since COM+ transactions are at a layer above ADO transactions and we
> don't
>> > want any bottlenecks in our new code if possible. Does anyone have any
>> > better solutions?
>> >
>> > thanks,
>> > Brent
>> >
>>
>>
>
>


.



Relevant Pages

  • IllegalArgumentException mit Hibernate und Tabellenrelation
    ... Als zentrale Tabelle gibts in der Oracle-Datenbank die Tabelle TASK. ... und zwar Task mit Agent. ... Session session = null; ... Transaction transaction = null; ...
    (de.comp.lang.java)
  • Re: bind() udp behavior 2.6.8.1
    ... "Transaction ID" in the DNS porttion of the packet. ... > ip:port and from no other server on the net. ... You new session is totally ...
    (Linux-Kernel)
  • Re: deadlocks between single update statements ?
    ... I guess one could think of the serializable transaction isolation ... session 2 gets row B ... session 1 detects deadlock and rolls back select statement. ... pretty widespread changes in the code base. ...
    (comp.databases.oracle.server)
  • Re: column update order
    ... Charles Hooper wrote: ... consistent as of the start of the transaction. ... Transaction Isolation Levels can be altered at the session level. ... Note that I did not commit in session 1. ...
    (comp.databases.oracle.misc)
  • Index Of Man Who Went To Mars.
    ... Index Of The Man Who Went To Mars. ... The client is fully conscious throughout the session. ... Session 2: K-lling with Remote Viewing ... Session 18: Mind Control Commands I: Mind Control ...
    (sci.skeptic)