Problem with Python module
Maneesh
maneeshsingh82 at gmail.com
Tue Jan 4 05:56:25 EST 2005
Hi,
I want to connect to a remote MS SQL Server 2000 database through
my Fedora Core 2 machine via Python scripts. I have successfully
installed freetds & unixODBC and can now connect to the desired DB
through tsql(freetds) & isql(unixODBC). I installed mxODBC (RPM &
source) to be able to connect to the DB via Python scripts without any
success.
The code(db3.py) under test is as follows:
----------------------------------------------
#!/usr/bin/python2.3
import mx.ODBC.unixODBC
dsn="ps0196"
conn=mx.ODBC.unixODBC.Connect (dsn, "maneesh_singh", "newuser")
print "Content-Type: text/plain"
print
cursorhandle=conn.cursor()
print "MySQL Databse via mxODBC....\n"
cursorhandle.execute("select * from tb_mis_team")
for i in cursorhandle.fetchall():
print i
print cursorhandle.fetchall()
for i in cursorhandle.fetchall():
print i
----------------------------------------------
The output is as follows:
----------------------------------------------
[root at ps0778 cgi-bin]# python db3.py
Traceback (most recent call last):
File "db3.py", line 4, in ?
import mx.ODBC.unixODBC
File "/usr/lib/python2.3/site-packages/mx/ODBC/unixODBC/__init__.py",
line 8, in ?
from mxODBC import *
ImportError: libiodbcinst.so.2: cannot open shared object file: No
such file or directory
----------------------------------------------
Additional info:
----------------------------------------------
[root at ps0778 unixODBC]# pwd
/usr/lib/python2.3/site-packages/mx/ODBC/unixODBC
[root at ps0778 unixODBC]# ldd ./mxODBC.so
linux-gate.so.1 => (0x0070b000)
libodbc.so.1 => /usr/lib/libodbc.so.1 (0x00b26000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x007ca000)
libc.so.6 => /lib/tls/libc.so.6 (0x00eaa000)
libiodbcinst.so.2 => not found
libdl.so.2 => /lib/libdl.so.2 (0x006b2000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x0089d000)
-----------------------------------------------
I want to use unixODBC and not iODBC, why is mxODBC looking for
iODBC's libraray? I had earlier tried to install iODBC,
unsuccessfully, hence shifted over to unixODBC. The missing iODBC
library exist in /usr/local/lib folder. Do I need to link the iODBC
library to mxODBC during installation? How? Configure setup.in in the
source setup?
Thanks!
Maneesh.
More information about the Python-list
mailing list