Назад | Перейти на главную страницу

Использование unixODBC для подключения к серверу Oracle

Я пытаюсь настроить наш веб-сервер (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.