[DB-SIG] What DB-API compliant interfaces are there?

Bill Tutt billtut@microsoft.com
Tue, 9 Sep 1997 13:23:07 -0700

ODBC is a set of C APIs to access a database using SQL.
I say set of APIs because ODBC has different "levels" of compliance.
e.g.: The latest Microsoft ODBC SDK is at ODBC 3.0 with 3.5 in

The organization of ODBC is something like this:

		ODBC Driver Manager
SQL Server ODBC Driver | SOLID ODBC Driver | etc....

The Driver Manager is what the ODBC API's call into.

Now obvoiously, not all databases support the same SQL features.
e.g. mSQL vs a commercial SQL database

The ODBC API includes functions to help determine if your driver has a
certain feature or not..
e.g. transaction capibility.

So getting the SOLID ODBC code to work with say, MySQL's Unix odbc
interface, or mSQL's Unix odbc interface should
be trivial.

Documentation is always the last thing to get updated.... :)
On my free time Python TODO list: (probably in priority order)
	Doing a decent at least ANSI-92 capable datetime type for DBI in
C to avoid the CRT 1970/y2k problem. 
		Modifying the ODBC code to allow the parameter of an
insert statement to be a sequence of rows.
	Modifying the ODBC code to remove the 64k restriction on raw
	Modifying DBI to return a "database tuple type" instead of a
	Where database tuple type is a type where you can do the
following to access the data:
		row[1] = value in the 2nd column
		row["name"] = value in the column called "name"
		row.name = value in the column called "name"
Unfortunately.. as I'm in the process of closing on my condo, I don't
have a lot of free time right now. :(

Not part of Microsoft PR, yada yada

> -----Original Message-----
> From:	Andrew Kuchling [SMTP:amk@magnet.com]
> Sent:	Tuesday, September 09, 1997 12:07 PM
> To:	db-sig@python.org
> Subject:	Re: [DB-SIG] What DB-API compliant interfaces are there?
> Harri Pasanen <pa@tekla.fi> wrote:
> >My understanding is that Solid uses ODBC as its native interface even
> >on Unix platforms, so the knowledge on that would be usable with
> other
> >ODCB supporting databases as well. 
> 	Hmmm... that seems to be the case.  Does that mean that you
> could take Michael Lausch's Solid module, and tweak it to work with
> another ODBC database on Linux?  In other words, does ODBC specify a
> complete C API, or does it simply define a set of capabilities that
> must be supported?
> Case Roole <cjr@bound.xs4all.nl> wrote:
> >especially to the available Linux dbms's. I don't know about the
> popularity
> >of SOLID in the Linux community, but it might be a good idea to
> mention that
> >there are also modules for mSQL and Postgres95 in the *first*
> paragraph of
> >the article.
> 	Yes, that's a very good idea (assuming SOLID is covered in the
> article--I've just downloaded it and am figuring out how to install
> it.)
> The API spec says: 
> >Note: The ODBC module implements a newer version of this
> >specification. Some additional error types were added to DBI. A spec
> >update is due.
> 	Shouldn't someone make this update?  Since it only involves
> some new types, it doesn't seem like a major task...
> 	Andrew Kuchling
> 	amk@magnet.com
> 	http://starship.skyport.net/crew/amk/

DB-SIG  - SIG on Tabular Databases in Python

send messages to: db-sig@python.org
administrivia to: db-sig-request@python.org