[DB-SIG] [OT] ADO database connection seems to be closing
Marcos Sánchez Provencio
marcos at burke.ath.cx
Thu Mar 3 18:35:26 CET 2005
You are using ADO to access SQL using an ODBC bridge, ¿is this what you
really want? You may access SQL Server without the ODBC bridge.
"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User
Id=sa;Password=asdasd;"
versus
"Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;"
[from www.connectrionstrings.com]
It is probably faster, although I have no empirical experience.
El jue, 03-03-2005 a las 11:22 -0500, Chris Curvey escribió:
> I'm trying to get to an MS-SQL datbase via the win32com.client library
> and the ADO library, but I seem to lose the context of the connection
> whenever I execute a statement. For example, the first "assert" below
> is OK, but the second one is not. I'm also losing the value of @@identity.
>
> Is this a known issue? I was hoping for a DB-API 2.0 interface to
> MS-SQL, but I can't get my clients to pay for an mxODBC license.
>
> import unittest
> from win32com.client import Dispatch
>
> class TransactionTest(unittest.TestCase):
> def testConnection(self):
> conn = Dispatch('ADODB.Connection')
> conn.Open("Driver={SQL
> Server};Server=mxdev;UID=chris_dev;PWD=chris;DATABASE=tempdb")
>
> # start a transaction
> conn.execute("begin tran")
>
> result = conn.execute("select @@trancount")
>
> while not result.EOF:
> # this test passes
> assert result.Fields.Item(0).Value == 1
> result.MoveNext()
>
> result = conn.execute("select @@trancount")
> while not result.EOF:
> #this test fails
> assert result.Fields.Item(0).Value == 1
> result.MoveNext()
>
>
> ########################################################################
> if __name__ == "__main__":
> unittest.main()
>
>
> _______________________________________________
> DB-SIG maillist - DB-SIG at python.org
> http://mail.python.org/mailman/listinfo/db-sig
More information about the DB-SIG
mailing list