[egenix-users] InterfaceError: mxODBCursor_FetchMany called, but vars not set

M.-A. Lemburg mal at egenix.com
Thu Nov 7 18:04:44 CET 2013


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
> egenix-mxodbc-zopeda-1.0.10.linux-x86_64-py2.4_ucs2
> 
> 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:

[MyDataSourceName]
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:

[ODBC]
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
this.

If you are using unixODBC 2.3.0, please consider upgrading
to mxODBC Zope DA 2.0.2:

http://www.egenix.com/products/zope/mxODBCZopeDA/2.0.2/

This works with your configuration as well.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Nov 05 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 ...                 14 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
               http://www.egenix.com/company/contact/



More information about the egenix-users mailing list