我有一个应用程序(无法提供代码,因为它很长),它使用unixODBC
。另外,我安装了isql
。似乎所有配置都正确 - 驱动程序,服务器等,使用isql
,我连接到Informix数据库时没有任何问题。但即使使用相同的设置,我的应用程序也无法连接。返回的错误是:我的C++应用程序无法连接到Informix数据库服务器
IM00 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
所以,这里的“有趣”的一部分 - 我复制了odbc.ini
文件到~/.odbc.ini
和/etc/odbc.ini
然后一切开始工作几乎OK(“几乎”,因为该应用程序可以连接到一个DSN,但不是另一个,但它仍然是一些东西)。
另外:
[[email protected] 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
[[email protected] xxx]$ echo $ODBCINI
/usr/local/etc/odbc.ini
[[email protected] xxx]$ echo $INFORMIXDIR
/usr/informix
INFORMIXDIR也设置正确。没有点~/.odbc.ini
既不/etc/odbc.ini
(实际上,第二个帮助,无关~/.odbc.ini
,刚刚试了一下(:)
odbc.ini
的配置是否正确,如isql
工作正常
如果您需要任何更多的信息。 (
'isql'也unixODBC的一部分使用:'isql DSN [UID [PWD]] [options]' – 2010-11-04 10:50:44