I have just run into this problem on Linux x86_64, with the symptoms
exactly as reported previously.
I suspect that it comes down to the difference between int and
Py_ssize_t. Building cx_Oracle-4.2.1 produces (among others) the
warnings
Cursor.c: In function 'Cursor_SetBindVariables':
Cursor.c:937: warning: passing argument 2 of 'PyDict_Next' from
incompatible pointer type
Cursor.c: In function 'Cursor_PerformBind':
Cursor.c:972: warning: passing argument 2 of 'PyDict_Next' from
incompatible pointer type
Cursor.c: In function 'Cursor_SetInputSizes':
Cursor.c:1793: warning: passing argument 2 of 'PyDict_Next' from
incompatible pointer type
Changing all of these int's to Py_ssize_t's fixes the bind variable problem.
[ System information:
Linux xp-paulm 2.6.18-1-amd64 #1 SMP Tue Oct 10 00:09:20 UTC 2006
x86_64 GNU/Linux
Python 2.5 (release25-maint, Oct 29 2006, 12:14:25)
[GCC 4.1.2 20061028 (prerelease) (Debian 4.1.1-19)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
cx_Oracle.version = 4.2.1 ]
Hope this helps,
--
pdm
|