2010-11-03 125 views
1

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

如果您需要任何更多的信息。 (

回答

0

@Jonathan Leffler - 是的,我已經正確安裝了一切,問題肯定是在別的地方。我在這裏回答,因爲我找到了解決方案(實際上是我的一位同事)。這是非常,非常愚蠢的事情。他只是在/etc/ld.so.conf添加/usr/local/lib和一切開始正常.....

無論如何,真的感謝您的幫助(:

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 Downloads」的鏈接,您可以從中獲取CSDK。

您還可以查看可以使用的各種Informix(Informix Dynamic Server)新版本,並免費提供一些許可限制(仔細閱讀許可證),其中包括軟件包中的CSDK。

+0

'isql'也unixODBC的一部分使用:'isql DSN [UID [PWD]] [options]' – 2010-11-04 10:50:44

相關問題