[egenix-users] mx.ODBC error: Invalid Descriptor Index
Alexandre Fayolle
alexandre.fayolle at logilab.fr
Thu Apr 15 18:55:13 CEST 2010
Hello Charlie,
Thanks for you answer.
On Thursday 15 April 2010 17:30:06 Charlie Clark wrote:
> Am 15.04.2010, 17:14 Uhr, schrieb Alexandre Fayolle>
> This looks like an incorrect application of the parameters. You *use* ?
> for parameters in this case. You must use string formatting to generate
> your SQL statement for "SELECT ?, ? FROM table" from your first example
> because you are passing variables to a statement and not parameters to the
> database which has already prepared the statement.
Let me rephrase this. I was lazy, the call generating the exception was:
datetime1= datetime.datetime(2010, 4, 15, 16, 51, 25, 468000)
datetime2 = datetime.datetime(2010, 4, 15, 16, 51, 25, 453000)
cursor.executedirect('UPDATE cw_CWUser SET cw_modification_date = ?,
cw_last_login_time = ? WHERE cw_eid = ?', (datetime1, datetime2, 5))
The exception is mx.ODBC.Error.DataError: ('22008', 0, '[Microsoft][SQL
Server Native Client 10.0]Datetime field overflow. Fractional second precision
exceeds the scale specified in the parameter binding.', 7748)
> The ODBC trace log is produced by the ODBC driver not by mxODBC.
I was thinking of the mxODBC.log file mentionned in §4.7 of the mxODBC
documentation. Is it possible to enable ODBC driver tracing when you don't go
through the ODBC Data Source manager to connect to the database?
--
Alexandre Fayolle LOGILAB, Paris (France)
Formations Python, CubicWeb, Debian : http://www.logilab.fr/formations
Développement logiciel sur mesure : http://www.logilab.fr/services
Informatique scientifique: http://www.logilab.fr/science
More information about the egenix-users
mailing list