无法配置odbc

时间:2014-09-16 06:40:03

标签: c++ ubuntu odbc otl

我之前从未使用过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] [驱动程序管理器]未找到数据源名称,并且未指定默认驱动程序

1 个答案:

答案 0 :(得分:2)

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

其次,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。