Database abstraction (like AdoDB in PHP)

Yermat loic at yermat.net1.nerim.net
Thu Feb 19 16:50:22 EST 2004


DH a écrit :

> Andres Montiel wrote:
> 
>> Is there something like ADODB in PHP for Python? something that would
>> allow me to easily switch databases just by changing a few parameters?
>> :)
> 
> 
> The person who wrote ADODB made a version for Python, too, recently:
> http://php.weblogs.com/adodb_python
> 
> But see also:
> http://sqlobject.org/
> http://modeling.sourceforge.net/
> and some commercial products like Rekall, mxODBC

In fact, this is nearly already the case. If your library is "Python 
Database API Specification v2.0" compliant (see 
http://www.python.org/peps/pep-0249.html) then you can just change the 
connection object. But you need to take care of such thing like the 
"paramstyle" parameters.
I've already use this to change from MySQL to ODBC with no change in the 
code.

But the real pain is not the API, it is the SQL. For example an integer 
will not be declare the same way in PostGres or MySQL, same for BLOB, etc.

That is why the only way is to do things in a more abstract way like 
sqlobject or modeling. But I find it is still complicate to have a 
persistent framework that can accept Database, ZODB, etc in a nice way...

Loïc




More information about the Python-list mailing list