Не удалось загрузить указанный драйвер ODBC lib


Я пытаюсь установить драйверы ODBC и натыкаюсь на кирпичные стены.

[root@Crux pkg]# isql -v
[IM002][DataDirect][ODBC lib] Data source name not found and no default driver specified
[ISQL]ERROR: Could not SQLConnect
[root@Crux pkg]# isql -3 SUBS2A
[IM003][DataDirect][ODBC lib] Specified driver could not be loaded
[ISQL]ERROR: Could not SQLConnect

Мои INI-файлы выглядят следующим образом;

Odbcinst.ini

[ProgressOpenEdge]
Description = ODBC for Progress OpenEdge
Driver = /usr/dlc/odbc/lib/pgoe1023.so
;Setup = /usr/dlc/odbc/lib/pgoe1023.so
FileUsage = 1

Odbc.ini

[SUBS2A]
Driver = ProgressOpenEdge
Description = Fail
DatabaseName = SUBS
PortNumber = 4000
HostName = 192.168.1.2
LogonID = SYSPROGRESS
Password = SYSPROGRESS
APILevel = 1
ConnectFunctions = YYN
CPTimeout = 60
DriverODBCVer = 03.50
FileUsage = 0
SQLLevel = 0
UsageCount = 1
ArraySize = 50
DefaultLongDataBuffLen = 2048
DefaultIsolationLevel = REPEATABLE READ
StaticCursorLongColBuffLen = 4096
[ODBC]
InstallDir = /usr/dlc/odbc
Trace = 0
TraceFile = odbctrace.out
TraceDll = /usr/dlc/odbc/lib/odbctrac.so
UseCursorLib = 0

Я уже убедился, что все зависимости загружаются правильно через ldd.

Обновить

Вывод: strace isql-v http://pastebin.com/tXFY4vVt

Вывод: strace isql -3 SUBS2A http://pastebin.com/Yu5e54mR

ВЫХОД: /tmp / odbctrace.из http://pastebin.com/0kgvNdWv

Спасибо

2 2

2 ответа:

Вы должны проверить, что ваш драйвер ODBC является загружаемым:

ldd /usr/dlc/odbc/lib/pgoe1023.so

Вероятно, загрузчик не может найти зависимости в виде общих объектов (так что библиотеки), которые еще не доступны в вашей среде или доступны в другой версии.

Я рекомендую вам добавить /usr/dlc/odbc/lib/ или, возможно, другие пути в соответствии с вашей системой:

  • либо в переменной окружения LD_LIBRARY_PATH
  • либо добавьте конкретный файл для загрузчика linux, например /etc/ld.so.conf.d/odbc-pgoe.conf со строкой /usr/dlc/odbc/lib/ и обновить с помощью ldconfig (лучший вариант)

Пожалуйста, сообщите о выводе команды ldd, Если проблема не устранена. Возможно, ожидаемые имена файлов библиотек не совсем соответствуют вашему дистрибутиву Linux.

Обновление: В последний комментарий в этом посте подтверждает, что ЛД.так.файл conf это решение, чтобы заставить водителя работать. Вы должны это проверить.

Этот форум относится каналогичной ситуации . Может быть, решение исправит вашу проблему.

Если все еще неправильно, пожалуйста, сообщите о выходе strace isql -3 SUBS2A. Вы, вероятно, получите ключ к разгадке того, что неправильно, как неудачная загрузка библиотеки, проблема доступа к файлам или что-то еще, непосредственно перед тем, как сообщение об ошибке будет написано.

(1) Вы можете проверить правильность драйвера перед его использованием.

$ ivtestlib /usr/dlc/odbc/lib/pgoe1023.so

(2) Просмотр журнала при загрузке драйверов В консоли,

tail -f /path/to/SysLog_OrOtherName.file

В другой консоли,

odbc.sh