我以前从未使用过ODBC。我总是手动连接。现在我正在尝试使用OTL,但我无法配置它。
我发现由于某种原因,它没有读取/etc/odbc*中的文件
它正在从我的控制器(.odbc.in.odbinst.ini)读取这些文件
~/.obc.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][Driver Manager]找不到数据源名称,并且没有指定默认驱动程序
首先,odbcinst.ini文件的格式不是unixODBC,而是iODBC。您不需要[ODBC驱动程序]部分。
其次,默认情况下,unixODBC不会在~/.obcinst.ini中查找,它通常在/etc/odbcinst.ini或/usr/local/etc/odbcinst.ini中查找
$ 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。