[01000][unixODBC][Driver Manager]Can't open lib '/usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so' : file not found

后端 未结 3 1249
离开以前
离开以前 2020-12-10 10:28

I am trying to acces oracle from linux server. I am using unixODBC.

When i try to acces oracle using isql and i get error that driver manager can\'t open libsqora.so

相关标签:
3条回答
  • 2020-12-10 11:10

    Instant client doesn't have a lib directory. If you've downloaded the instantclient-odbc-linux package and unzipped that in the same location as the basic package then the libsqora.so.11.1 file will be durectly under /usr/local/easysoft/oracle/InstantClient112.

    So your .ini should point to:

    Driver=/usr/local/easysoft/oracle/InstantClient112/libsqora.so.11.1
    

    Note the extension though; you might want to soft-link that to libsqora.so. If you've moved the .so files into a subdirectory after unzipping (?) then you'd need:

    Driver=/usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so.11.1
    

    It looks like you've reoriganised the instant client files after unzipping, creating a lib directory. I'm not sure if that will directly cause you problems. But you also haven't set LD_LIBRARY_PATH, as the installation instructions suggest:

    Installation Steps:

    1. Download the appropriate Instant Client packages for your platform. All installations REQUIRE the Basic package.

    2. Unzip the packages into a single directory such as "instantclient".

    3. Set the library loading path in your environment to the directory in Step 2 ("instantclient"). On many UNIX platforms, LD_LIBRARY_PATH is the appropriate environment variable. On Windows, PATH should be used.

    4. Start your application and enjoy.

    Clearly step (4) isn't working for you yet, but I think that's because you haven't done step (3); and I think as you've split the files - which might itself cause an issue - you may need to include both .../InstantClient112 and .../InstantClient112/lib in the LD_LIBRARY_PATH variable. And make sure the modified value is exported. I'm not sure why you'd want to rearrange the files though.

    0 讨论(0)
  • 2020-12-10 11:12

    This error is misleading:

    The file that the error claimed was not present did exist.
    

    I was able to chase down the actual missing file by executing:

    # ldd /path/to/your/socalled/missing/file.so
    

    This returned a series of files and one said:

    libodbcinst.so.2 => not found
    

    That is was the culprit for me. I then created the link that I needed and voila, the error went away.

    ref: http://mailman.unixodbc.org/pipermail/unixodbc-support/2011-November/003018.html

    0 讨论(0)
  • 2020-12-10 11:15

    sudo apt-get install libaio1 libaio-dev

    0 讨论(0)
提交回复
热议问题