Hi Marc-Anderson,

Thanks for the response. It sounds like you're saying that the practicalities 
of database abstraction make its implementation un-pythonic. I'm not sure I 
fully agree, but I take the point that if you want get the most out of a 
database, you probably want to write DB-specific code. At the same time, I 
think the whole point of database abstraction is more from a code 
re-use/re-factoring standpoint, and that the implicit trade off with 
features/performance is in some cases worth it.

Appreciate the input though.

Tom

-----Original Message-----
From: M.-A. Lemburg [mailto:[EMAIL PROTECTED]
Sent: Friday, April 15, 2005 12:38 PM
To: Tom Haddon
Cc: [email protected]
Subject: Re: [DB-SIG] Database Abstraction in Python


Tom Haddon wrote:
> Hi,
> 
> I'm new to the list, so please forgive me if this has been covered before. I 
> searched the archives and wasn't able to find anything, so here goes...
> 
> I'm interested in database abstraction for Python, and am wondering what 
> people use for this. Currently I have thrown together a home-grown class that 
> does database abstraction for MySQL and PostgreSQL for the functions I need, 
> but I realize this is not the way to go long term. I did some google searches 
> and it didn't seem like there was real consensus on what's the best for this 
> in Python. The closest I could see was ADOdb for Python, but since this seems 
> to be a rewrite of a PHP framework, I wasn't sure how good/stable/widely-used 
> it was. Is there a "standard" for this, or is it a matter of personal 
> preference?

The problem with database abstraction is not so much the interface,
it's the different database dialects, data types, stored procedure
syntax, etc. that make this difficult.

To get the most out of the databases that you'd like to support,
it's usually best to write an abstraction layer that's adjusted
to your particular needs and set of database backends.

The generic approach will always have to chose the least common
denominator of all database that it wants to supports. That's fine
for simple applications, but quickly reaches its limits once you
want to do more clever things or benefit from specific database
features.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Apr 15 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 ! ::::
_______________________________________________
DB-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/db-sig

Reply via email to