我有一個應用程序(無法提供代碼,因爲它很長),它使用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