【问题标题】:Can't configure odbc无法配置 odbc
【发布时间】:2014-09-16 06:40:03
【问题描述】:

我以前从未使用过 ODBC。我一直都是手动连接。现在我正在尝试使用 OTL,但我无法配置它。

我发现由于某种原因它没有读取我在 /etc/odbc* 中的文件

它正在从我的主管那里读取这些文件 (.odbc.ini .odbinst.ini)

~/.odbc.ini:

[localhost]
Driver       = MyODBC Driver
Description  = MyODBC 
SERVER       = localhost
USER         = root
Password     = mypass
Database     = mydb
SOCKET       =

~/.odbcinst.ini:

[ODBC Drivers]
MyODBC Driver = Installed

[MyODBC Driver]
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup  = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so

这就是我尝试连接时发生的情况

con_.rlogon("DSN=localhost");

[unixODBC][驱动管理器]未找到数据源名称,未指定默认驱动

【问题讨论】:

    标签: c++ ubuntu odbc otl


    【解决方案1】:

    首先,odbcinst.ini 文件的格式不是 unixODBC,而是 iODBC。您不需要 [ODBC 驱动程序] 部分。

    其次,unixODBC 默认不在 ~/.odbcinst.ini 中查找,它通常在 /etc/odbcinst.ini 或 /usr/local/etc/odbcinst.ini 中查找。您可以使用 odbcinst -j 查看 unixODBC 在哪里查找文件:

    $ odbcinst -j
    unixODBC 2.2.14
    DRIVERS............: /etc/odbcinst.ini
    SYSTEM DATA SOURCES: /etc/odbc.ini
    FILE DATA SOURCES..: /etc/ODBCDataSources
    USER DATA SOURCES..: /home/martin/.odbc.ini
    SQLULEN Size.......: 8
    SQLLEN Size........: 8
    SQLSETPOSIROW Size.: 8
    

    如果您坚持使用 ~/odbcinst.ini 来定义您的驱动程序,您需要通过将 ODBCINSTINI 环境变量指向您的文件来告诉 unixODBC。

    【讨论】:

    • odbcinst -j 非常完美。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-24
    相关资源
    最近更新 更多