代码之家  ›  专栏  ›  技术社区  ›  Kiril Kirov

我的C++应用程序无法连接到Informix DB服务器

  •  1
  • Kiril Kirov  · 技术社区  · 14 年前

    我有一个应用程序(不能提供代码,因为它很长),它使用 unixODBC . 另外,我已经安装了 isql

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

    odbc.ini ~/.odbc.ini /etc/odbc.ini

    [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
    

    2 回复  |  直到 14 年前
        1
  •  0
  •   Jonathan Leffler    14 年前

    Informix ,您需要安装InformixODBC驱动程序(或者可以想象,安装IBM公共客户端驱动程序)。要获得该驱动程序,您需要在您的计算机上安装clientsdk或csdk产品,或其运行时等效工具i-connect,然后正确配置DSN。InformixSQL产品(称为ISQL,因为它是主程序名)不使用或(因此)安装ODBC驱动程序;它使用ESQL/C连接。(不过,在第二种想法中,您提到的是Unixodc附带的ISQL,而不是Informix产品。)

    这个 ClientSDK 在没有支持的情况下提供,纯名义成本为0.00美元。支持成本更高。I-Connect同上。在链接页面的右侧,“技术详细信息”下是指向“Informix下载”的链接,从中可以获取CSDK。

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

        2
  •  0
  •   Kiril Kirov    14 年前

    @乔纳森莱弗勒-是的,我把所有东西都安装好了,问题是 肯定是在别的地方。我在这里回答,因为我找到了解决办法(实际上,我的一个同事找到了)。这是一件非常非常愚蠢的事情。他只是加了一句 /usr/local/lib 在里面 /etc/ld.so.conf 一切都开始正常……

    无论如何,真的谢谢你的帮助(: