我正在尝试配置我们的 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
为/usr/lib/oracle
和设置为包含我的(有效)Tnsnames.ora 文件的目录。以下是我的文件$TNS_ADMIN
的内容:/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 已被编辑...主机、端口和数据库实际上都存在,并且正确)
当我跑步时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 个小时了......
我今晚要回家了,但如果有必要,明天早上我会很乐意向任何愿意提供帮助的人提供更多详细信息……
答案1
您可能需要检查这次讨论在 OTN 论坛中。相关讨论出现在该主题的 75% 左右,即用户 ardesai 的第二篇帖子。
答案2
新的与 Oracle 客户端兼容的 unixODBC64 包刚刚在 RHEL5.8 中发布。