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