Hi,

I don't know if I can add any further to this, but I have just been
looking at this exact problem with our (Easysoft) SQL Server driver.
And one thing we have found is that you get different results
depending on which version of TDS the driver is using. If we use (for
the moment) the MS drivers on windows the code works as expected with
SQL Server drivers for 2000 and before, but with the new Native client
drivers (2000 sp3 and later) it fails to do the update as reported
above.

The problem seems to be the sequence

    Query: set implicit_transactions on
    RPC Name: sp_datatype_info
    Query: SET IMPLICIT_TRANSACTIONS OFF
    Query: BEGIN TRANSACTION

If the sp_datatype_info is not done, then it all works fine, but
because the sp_datatype_info a transaction is stated at this point,
and it seems that everything afterthis point is nested inside this
trasaction. So the commit works and commits the data, but the rollback
that occurs at the end rollsback (what I assume is) the outer
trasaction undoing the effect of the earlier insert and commit.

I in fact added  a flag to our driver to allow the driver to force
2000 type TDS as a way around the problem. Our support team also found
that calling commit() after the connect also worked. I guess this will
close the outer transaction.

Nick
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to