Я пытаюсь настроить наш веб-сервер (RHEL 5.4 x86) для подключения к базе данных Oracle с помощью unixODBC. Я установил unixODBC-2.2.11-7.1.1, который, по словам yum, является последней версией. Я также установил Oracle InstantClient 11.2 и библиотеку Oracle InstantClient ODBC.
Я связал все файлы .so в /usr/lib/oracle/11.2/client/lib
к /usr/lib
. Я установил $LD_LIBRARY_PATH
к /usr/lib/
, $ORACLE_HOME
к /usr/lib/oracle
и $TNS_ADMIN
в каталог, содержащий мой (действительный) файл Tnsnames.ora. Вот содержание моего /etc/odbcinst.ini
файл:
[Oracle]
Description = Oracle ODBC Connection
Driver = /usr/lib/libsqora.so.11.1
Setup =
FileUsage =
и мой /etc/odbc.ini
файл:
[Oracle]
Application Attributes = T
Attributes = W
BatchAutocommitMode = IfAllSuccessful
CloseCursor = F
DisableDPM = F
DisableMTS = T
Driver = Oracle
EXECSchemaOpt =
EXECSyntax = T
Failover = T
FailoverDelay = 10
FailoverRetryCount = 10
FetchBufferSize = 64000
ForceWCHAR = F
Lobs = T
Longs = T
MetadataIdDefault = F
QueryTimeout = T
ResultSets = T
ServerName = //<host>:<port>/<db>
SQLGetData extensions = F
Translation DLL =
Translation Option = 0
UserID =
(Имя сервера было отредактировано ... хост, порт и база данных на самом деле есть, и правильно)
Когда я бегу isql
я получил
$ isql -v Oracle
isql: symbol lookup error: /usr/lib/libsqora.so.11.1: undefined symbol: SQLGetPrivateProfileStringW
И запуск dltest дает мне
$ dltest Oracle SQLConnect
[dltest] ERROR dlopen: Oracle: cannot open shared object file: No such file or directory
Если у кого-то есть какие-то идеи, я был бы признателен, я пытался заставить это подключиться уже около 5 часов ...
Я иду домой на ночь, но с радостью предоставлю подробности, если потребуется, завтра утром всем желающим помочь ...
Вы можете захотеть проверить это обсуждение на форумах OTN. Соответствующее обсуждение происходит примерно на 75% пути в тему, второе сообщение пользователя ardesai.
Новые и совместимые с клиентом Oracle пакеты unixODBC64 только что были выпущены в RHEL5.8.