MS SQL Server/ODBC package for Python

Francois Lepoutre francois.lepoutre at caramail.com
Sat Apr 16 08:21:48 EDT 2005


Peter,

May my I apologize for knocking against your information, as well.

 > For what it is worth, my experience is as follows:  Using a PIII
 > 550MHz, 256MB RAM, running WinNT 4.0 and Python 2.3.4 and connecting
 > to a Sybase Adaptive Server Anywhere 8.0 database, mx.ODBC took
 > approximately 8 wall-clock seconds to connect

As a long time user of the ASA range of products, I was surprised
by your connection time to ASA 8. I'm not a regular user of mxODBC
but i have tested it with success here. With no pending time upon
connection whatever the middleware.

The script below ran fast on my machine (an oldish pentium 400)
with ASA 8.0.2 (the engine is local).

When re-cycling ASA connection (a good practice) the script took
0.21 sec. to run and  3.4 sec. when re-building the connection
on every hit (which you should avoid).

For 100 connections, not one! Which confirms my feeling that
something got in the way when you ran your test.

mxODBC is fast and safe (on both linux and win32).

I won't comment on ado since i'm not a user. But the fact that
ASA+mxODBC runs multi-platform may be an additional advantage.

Regards

Francis

from mx import ODBC
import time
mytime=time.time()
print "1 connection and 750 cursors started, used and closed at once..."
dbHandle=ODBC.Windows.Connect("descriptive demo fr","dupont","",0)
for i in range(100):
	cHandle=dbHandle.cursor()
	cHandle.execute("select 1")
	cHandle.fetchall()
	cHandle.close()
print time.time() - mytime
print "750 connection fully started, used and closed at once..."
for i in range(100):
	dbHandle=ODBC.Windows.Connect("descriptive demo fr","dupont","",0)
	cHandle=dbHandle.cursor()
	cHandle.execute("select 1")
	cHandle.fetchall()
	cHandle.close()
	dbHandle.close()
print time.time() - mytime



More information about the Python-list mailing list