[egenix-users] InterfaceError: mxODBCursor_FetchMany called,
but vars not set
mal at egenix.com
Wed Nov 13 14:40:05 CET 2013
As info for other users in a similar situation:
It turned out that the 64-bit issue with unixODBC 2.2 va. 2.3 was
the cause of the strange exception.
A upgrade to mxODBC Zope DA 2.0.2, which also supports Python 2.4
and Zope 2.10 made the problem go away.
On 07.11.2013 18:04, M.-A. Lemburg wrote:
> On 07.11.2013 17:13, Nico Grubert wrote:
>> Hi there
>> I am trying to get the egenix mxODBC Zope Database adapeter running.
>> I manage to add a "eGenix mxODBC Database Connection" in Zope and can connect to my ODBC data source successfully.
>> When querying the ODBC data source with a simple [ select anycolumn from mytable ] I get the following error:
>> mx.ODBC.Error.InterfaceError: mxODBCursor_FetchMany called, but vars not set
> This error message looks as if there was some other error causing
> the problem, but which the ODBC driver doesn't report back to
> mxODBC Zope DA.
>> From the command line I can use "isql" to query the ODBC data source without any problem and get the SQL results.
>> My setup:
>> CentOS 6
>> Python 2.4.6
>> Zope 2.10.13
>> Unfortunately I cannot update Python and Zope at the moment because on my Zope instance there are some applications running which require Python 2.4.6 and Zope 2.10.13.
>> Any tips are much appreciated.
> Please enable ODBC tracing and send the log to support at egenix.com:
> In order to enable logging at the ODBC driver manager level,
> please follow these instructions:
> 1. edit the odbc.ini file that defines the data source
> you are using (usually /etc/odbc.ini or ~/.odbc.ini)
> 2. add two trace options to the data source in question:
> Trace = On
> TraceFile = /tmp/odbc.log
> 3. restart Python and run a query on the connection
> You should then see the /tmp/odbc.log file fill up with
> ODBC call trace messages. Error messages from the ODBC
> driver should also appear in this file.
> In some cases you also have to edit the file
> /etc/odbcinst.ini (or ~/.odbcinst.ini) and add a section:
> Trace = On
> TraceFile= /tmp/odbc.log
> We will also need to know which database backend and ODBC
> driver and ODBC manager you are using.
> Since you're using a 64-bit OS, it's also possible that
> you're running into the SQLLEN type issue (unixODBC
> switched from 32-bit to 64-bit some time ago, without
> updating the lib version). mxODBC Zope DA 1.0.10 is not
> compatible with unixODBC versions > 2.2.12 because of
> If you are using unixODBC 2.3.0, please consider upgrading
> to mxODBC Zope DA 2.0.2:
> This works with your configuration as well.
Professional Python Services directly from the Source (#1, Nov 13 2013)
>>> 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/
2013-11-19: Python Meeting Duesseldorf ... 6 days to go
::::: Try our 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
More information about the egenix-users