[egenix-users] mx.ODBC error: Invalid Descriptor Index

Alexandre Fayolle alexandre.fayolle at logilab.fr
Tue Apr 13 12:44:27 CEST 2010


Hi,

I have an application which currently runs with pyodbc to connect to an 
SQLServer 2005 database. It works fine but very slowly (50x more slowly than 
the same app running against PostrgreSQL via psycopg2), and this might kill 
our so I'm investigating if mx.ODBC could improve the perfs in which case I'll 
be happy to to buy a licence. 

I've solved a couple of easy problems concerning the SQL <-> Python mapping 
differences between pyodbc and mx.ODBC, but I have an issue with the following 
query:

SELECT ? FROM owned_by_relation 
WHERE eid_from=? AND eid_to=? 

which is executed with parameters (2031, 2031, 5)

This query runs fine with pyodbc (and psycopg, mysqldb, sqlite...) but with 
mx.ODBC it generates 

InterfaceError: ('07009', 0, '[Microsoft][SQL Server Native Client 
10.0]Invalid Descriptor Index', 7513) 

The problem is with the first ? (in the SELECT part of the request).

My options in tweaking the SQL are somewhat limited, because the SQL is 
generated by some kind of ORM and we want to keep the rest of the code base as 
backend-agnostic as possible. 

I've seen http://www.egenix.com/mailman-archives/egenix-users/2009-
May/114571.html suggesting to use executedirect, but when I tried that, the 
program crashed in another place because of date/time issues:

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)

At this point, I'm a bit stuck and would appreciate any help 

platform information: 

* windows server 2003
* python 2.5.4
* mxODBC 3.04
* mx Base 3.1.3
* SQL Server 2005
* ODBC Driver : SQL Server Native Client 10.0

Thanks in advance

-- 
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