[DB-SIG] paramstyle without knowing the database
M.-A. Lemburg
mal at egenix.com
Tue Dec 4 16:10:51 CET 2012
On 04.12.2012 15:55, wilk wrote:
> On 03-12-2012, M.-A. Lemburg wrote:
>> On 03.12.2012 09:31, wilk wrote:
>>> Hi,
>>>
>>> I did a litle function to use the same paramstyle regardless of the
>>> paramstyle of the database. I transform one paramstyle to an other (a
>>> code missing in the lib standard isn't it ?)
>>
>> There are a few such libraries out there which take care of
>> such conversions.
>
> Do you have a link to one that do only that ?
There's one such module in the PyDal package:
http://pydal.sourceforge.net/
called paramstyles.py:
https://pydal.svn.sourceforge.net/svnroot/pydal/trunk/dal/dbapi/paramstyles.py
which is an N-way converter.
> Thanks for the clue about dbapi 3.0
>
>
>> The standard itself cannot provide an example
>> implementation.
>>
>>> But of course i need to know the paramstyle of the database. I didn't
>>> found any way to retrieve it from the connexion. Did i missed
>>> something ?
>>
>> No, the standard only defines a per module global for the
>> paramstyle.
>>
>> We might want to extend this to connections and cursors
>> as well in DB APi 3.0, to make it easier to write such conversion
>> routines, and then perhaps also make those attributes writable,
>> so that the paramstyle can be adjusted on a per connection and
>> cursor basis.
>>
>>> Is there a project to have one paramstyle mandatory for all the
>>> database ? I'm afraid that because there is not people will not use it
>>> at all and use manual string escape wich is a big security hole (i've
>>> seen that from people comming from php).
>>
>> For DB-API 3.0 there's a proposal to make support for the two
>> paramstyles 'named' and 'qmark' mandatory (but leave all existing
>> styles in the standard), or reduce the number of standard
>> paramstyles to these two.
>>
>
>
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Dec 04 2012)
>>> Python Projects, Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope/Plone.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
2012-11-28: Released eGenix mx Base 3.2.5 ... http://egenix.com/go36
2013-01-22: Python Meeting Duesseldorf ... 49 days to go
::: Try our new mxODBC.Connect Python Database Interface for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
http://www.egenix.com/company/contact/
More information about the DB-SIG
mailing list