[DB-SIG] URI syntax for database (was: [SQLObject] Re: SQLiteconnection - relative filename)

M.-A. Lemburg mal at egenix.com
Tue Apr 5 01:21:55 CEST 2005


Vernon Cole wrote:
> Ummm... a little caution here. Don't get comfortable assuming that ODBC
> is a dependable measure of how to access a data base.    As is typical
> of Micro$oft, and many other companies which have grown too large and
> self-important, they have changed the rules.  ODBC, having become an
> industry quasi-standard, is now obsoleted by ADO, the latest in a long
> series of Microsoft "standards" for database access.  One of the best
> things about ADO, I.M.H.O., is that it does NOT use DSNs or registry
> entries.
> 
> The Python dbapi module for odbc on Windows(r) has not been maintained
> for years and is acknowledged as buggy. The alternative (sorry, Mark) is
> a commercial product and therefore not usable for many of us. Adodbapi
> is my solution of choice.

No need to be sorry - we have many happy customers :-)

However, I don't really understand your comment: I was just
providing the documentation for how an ODBC connection
string is formatted.

If you want to compare ODBC and ADO, I'd suggest to have
a look at:

IIS 5.0 Resource Guide:
http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/iis/reskit/iischp7.mspx

Scroll down to table 7.1:

"""
Table 7.1 TPS (transactions per second) Per Number of Threads by MDAC Technology
Threads 	1 	2 	5 	10 	20 	50
ODBC 	        66.37 	146.28 	350.46 	626.76 	900.24 	859.91
OLE DB 	        67.30 	141.92 	326.19 	590.57 	794.91 	715.78
OLE DB 2.0 	61.73 	126.93 	297.29 	506.75 	575.35 	526.61
ADO 2.0 	51.24 	108.12 	240.91 	377.30 	361.26 	310.34
"""

The reason for these performance figures is that ADO is
an interface on top of OLE DB which in return is an
interface on top of ODBC (for many database backends
such as e.g. SQL Server; see figure 7.1 in the above
document).

This is MS at its best: stacking levels of APIs on top of
each other to correct their API designs ;-)

> ---
> Vernon Cole
> 
> -----Original Message-----
> ... 
> 
>>DSNs (Data Source Names) are registry keys. The entry for that key
>>contains among other things the id of the ODBC driver. The string for
> 
> a
> 
>>connect contains the DSN (which is evaluated by the driver manager)
> 
> and
> 
>>additional connect properties (which are passed to the driver). This
> 
> at
> 
>>least was the general idea, which has probably been bended since.
> 
> 
> The format of ODBC connection strings (sometimes called DSN string
> or just DSN) goes like this:
> ...
> (taken from
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/ht
> m/odbcsqldriverconnect.asp;
> 
> At the very least you have to provide the DSN=<name>
> part of the connection string. All other parts are
> optional.
> 
> _______________________________________________
> DB-SIG maillist  -  DB-SIG at python.org
> http://mail.python.org/mailman/listinfo/db-sig

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Apr 05 2005)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::


More information about the DB-SIG mailing list