[root@www.cndba.cn ~]# yum install unixODBC.x86_64 unixODBC-devel.x86_64 -y Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager This system is not registered with an entitlement server. You can use subscription-manager to register. Resolving Dependencies --> Running transaction check ---> Package unixODBC.x86_64 0:2.3.1-11.el7 will be installed ---> Package unixODBC-devel.x86_64 0:2.3.1-11.el7 will be installed --> Finished Dependency Resolution
Dependencies Resolved
========================================================================= Package Arch Version Repository Size ========================================================================= Installing: unixODBC x86_64 2.3.1-11.el7 dave 413 k unixODBC-devel x86_64 2.3.1-11.el7 dave 55 k
[dmdba@www.cndba.cn ~]$ isql -v dm [IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified [ISQL]ERROR: Could not SQLConnect [dmdba@www.cndba.cn ~]$
这里有两种原因:
查看 odbc 环境,如下:
[dmdba@www.cndba.cn ~]$ 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..: /home/dmdba/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8 [dmdba@www.cndba.cn ~]$
我们发现这里默认的路径是:/usr/local/etc/。而我们之前配置的都是放在 /etc 下。所以看似正确,但是 ODBC 是找不到我们的配置文件的。所以会报 Data source name not found, and no default driver specified 的错误。