1

我有一个应用程序(无法提供代码,因为它很长),它使用unixODBC. 另外,我已经安装了isql. 一切似乎都配置正确 - 驱动程序、服务器等,因为使用isql,我连接到 Informix DB 没有问题。但即使我使用相同的设置,我的应用程序也无法连接。返回的错误是:

IM00 [unixODBC][Driver Manager]Data source name not found, and no default driver specified

所以,这是“有趣”的部分 - 我将odbc.ini文件复制到~/.odbc.ini其中/etc/odbc.ini,然后一切都开始工作几乎正常(“几乎”,因为应用程序可以连接到一个 DSN,但不能连接到另一个,但它仍然是一些东西)。

还 :

[root@xxx xxx]# odbcinst -j
unixODBC 2.3.0
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /usr/local/etc/odbc.ini
SQLULEN Size.......: 4
SQLLEN Size........: 4
SQLSETPOSIROW Size.: 2
[root@xxx xxx]$ echo $ODBCINI
/usr/local/etc/odbc.ini
[root@xxx xxx]$ echo $INFORMIXDIR
/usr/informix

INFORMIXDIR 也正确设置。什么~/.odbc.ini都没有/etc/odbc.ini(实际上,第二个有帮助,与 无关~/.odbc.ini,只是尝试过(:)

odbc.ini配置正确,isql工作正常。

如果您需要更多信息,请告诉我。谢谢 (:

4

2 回答 2

0

要运行使用 ODBC 连接到Informix的程序,您需要安装 Informix ODBC 驱动程序(或者,可以想象,安装 IBM Common Client 驱动程序)。要获得该驱动程序,您需要在您的计算机上安装 ClientSDK 或 CSDK 产品,或其运行时等效产品 I-Connect,然后正确配置 DSN。Informix SQL 产品(称为 isql,因为这是主程序名称)不使用或(因此)安装 ODBC 驱动程序;它使用 ESQL/C 连接。(但是,再想一想,您指的是 UnixODBC 附带的 isql,而不是 Informix 产品。)

ClientSDK在没有支持的情况下可用,仅象征性成本 0.00 美元。支持更昂贵。I-Connect 同上。在链接页面的 RHS 下,“技术详细信息”下是指向“Informix 下载”的链接,您可以从中获取 CSDK。

您还可以免费查看可以使用的各种新版本的 Informix(Informix 动态服务器),但有一些许可限制(请仔细阅读许可),其中包括软件捆绑包中的 CSDK。

于 2010-11-03T20:02:40.823 回答
0

@Jonathan Leffler - 是的,我已经正确安装了所有东西,问题肯定出其他地方。我在这里回答,因为我找到了解决方案(实际上,我的一位同事做到了)。这是非常非常愚蠢的事情..他刚刚加入/usr/local/lib/etc/ld.so.conf一切都开始正常......

无论如何,非常感谢您的帮助(:

于 2010-11-04T09:04:04.220 回答