我正在尝试配置我们的 Web 服务器(RHEL 5.4 x86)以使用 unixODBC 连接到 Oracle 数据库。我已经安装了 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
to/usr/lib/oracle
和$TNS_ADMIN
to 包含我的(有效) 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 =
(ServerName 已被编辑...host、port 和 db 确实存在,并且正确)
当我跑步时,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 中发布。