Problem with Python module

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Maneesh

    #1

    Problem with Python module

    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.unixODB C

    dsn="ps0196"

    conn=mx.ODBC.un ixODBC.Connect (dsn, "maneesh_singh" , "newuser")

    print "Content-Type: text/plain"
    print

    cursorhandle=co nn.cursor()

    print "MySQL Databse via mxODBC....\n"
    cursorhandle.ex ecute("select * from tb_mis_team")

    for i in cursorhandle.fe tchall():
    print i

    print cursorhandle.fe tchall()

    for i in cursorhandle.fe tchall():
    print i
    ----------------------------------------------

    The output is as follows:
    ----------------------------------------------
    [root@ps0778 cgi-bin]# python db3.py
    Traceback (most recent call last):
    File "db3.py", line 4, in ?
    import mx.ODBC.unixODB C
    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@ps0778 unixODBC]# pwd
    /usr/lib/python2.3/site-packages/mx/ODBC/unixODBC
    [root@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.
Working...