使用unixODBC连接到Oracle服务器

我正在尝试使用unixODBCconfiguration我们的Web服务器(RHEL 5.4 x86)以连接到Oracle数据库。 我已经安装了unixODBC-2.2.11-7.1.1,其中yum告诉我是最新版本。 我还安装了Oracle InstantClient 11.2和Oracle InstantClient ODBC库。

我已将/usr/lib/oracle/11.2/client/lib的所有.so文件链接到/usr/lib 。 我已经将$LD_LIBRARY_PATH设置$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 = 

(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个小时…

我要回家过夜,但如果有必要,明天早上,愿意提供更多的细节给任何愿意帮助的人。

您可能希望在OTN论坛中查看此讨论 。 相关的讨论发生在用户ardesai的第二篇文章的75%的方式进入线程。

新的和Oracle客户端兼容的unixODBC64软件包刚刚在RHEL5.8中发布。