代码之家  ›  专栏  ›  技术社区  ›  mao

ODBCManageDataSourcesQ4、ODBCCreateDataSourceQ4找不到ODBCINSTGetProperties()

  •  0
  • mao  · 技术社区  · 7 年前

    ODBCINSTGetProperties ()

    ubuntu 16.04.2 x64 ODBCManageDataSourcesQ4和ODBCCreateDataSourceQ4(unixODBC Gui Qt 1.0.1)

    我手动编辑了/etc/odbcinst。ini和/etc/odbc。ini为我的DB2环境添加驱动程序和系统DSN详细信息。 因此,我可以成功地连接到系统DSN,并在Linux上的命令行上成功地运行SQL语句以使用Db2。

    我的问题是关于gui:ODBCManageDataSourcesQ4和ODBCCreateDataSourceQ4,它们报告“找不到ODBCINSTGetProperties()”

    ODBCManageDataSourcesQ4和ODBCCreateDataSourceQ4都显示了已注册的DB2驱动程序,但它们无法配置它,因为odbcinst。ini设置行库似乎没有ODBCINSTGetProperties()方法。

    [DB2]
    Description = IBM DB2 Driver
    Driver = /opt/ibm/db2/V11.1.2.2/lib64/libdb2.so.1
    Setup = /opt/ibm/db2/V11.1.2.2/lib64/libdb2cfg.so.1
    FileUsage = 1
    DontDLClose = 1
    
    [ODBC]
    Trace=Yes
    TraceFile=/tmp/unixodbc.trc.log
    Pooling=No
    

    我搜索了/opt/ibm/db2/V11.1.2.2/lib64中的所有文件,没有找到任何提到ODBCINSTGetProperties()的文件,所以我的问题是,这是必须从外部提供的东西(例如,由编写它的人提供),还是unixODBC希望由驱动程序(在本例中是ibm db2数据服务器驱动程序)提供。

    1 回复  |  直到 7 年前
        1
  •  0
  •   mao    7 年前

    检查了sourceforge快照中的源代码。 来自文件odbcinstQ4/CDataSourceNamesFileModel。cpp,内容如下:

    • 图书馆我们所说的“可行”是指它实现了 ODBCINSTGetProperties。

    因此,答案似乎是IBM没有在Db2驱动程序中提供相关挂钩,以允许GUI工具ODBCManageDataSourcesQ4、ODBCCreateDataSourcesQ4运行。有必要通过文本文件而不是使用GUI来配置驱动程序。