[PYTHON DB-SIG] Strawman API

Mark Hammond MHammond@skippinet.com.au
Fri, 26 Jan 1996 10:54:02 +1000


I havent been folowwing closely, but...

> I believe the API is independent of whether the database is local or
> remote. I forget the exact convention used for Oracle's SQL*net, but your
> connection string would be something like:
> 
> db = oracle.oracle("scott/tiger@dbserver")
> 
> Presumably, ODBC is similar (does anybody have some specific information on
> connection strings to ODBC?). So what it boils down to is that your
> connection string implies the user, password, and [location of] the server
> you wish to access.
ODBC has a "named param" type concept.  The string is like
"DATASOURCE=dbserver;USER=scott;PASS=tiger", etc.

> Peter: it sounds like you're very familiar with ODBC. Can you comment on
> whether this API is sufficient to connect to ODBC databases and perform all
> needed operations? Alternatively, can you provide some URLs so that we can
> investigate at leisure?
Im not, and I cant.

But I think it worth mentioning a point or 2.

ODBC's concept of "portability" is crap in my POV.  Almost no large 
(say "Oracle") systems are going to chage to Ingres, and assume all 
ODBC style code will work.  The real world means that your ODBC will 
end up Oracle specific in at least a few areas.

One benefit that _does_ exist is the learning curve between projects 
or for casual users.  It is the API that people end up knowing and 
liking.  ODBC's API looks something like:
rs = db.OpenRecordSet("table_name")
rs.MoveFirst
rs.FieldName = "Field Value".


My point (yes, I do have one) is that an ODBC API would be most 
valuable with an ODBC API.  Almost by definition, the multiple 
database problem goes away - an ODBC effort would not be much more 
than a Python wrapping to the C api.

I dont really think you should bother with ODBC at all - you would 
only be wrapping one DB independant wrapper around another.

Mark.
----------------------------------------
Mark Hammond - MHammond@skippinet.com.au

=================
DB-SIG  - SIG on Tabular Databases in Python

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