日期:2014-05-16  浏览次数:20734 次

linux下odbc SQLConnect问题
客户有一个odbc的安装文件,默认是安装在/opt下的,odbc.ini,odbcinst.ini也都在opt下配置,安装完成后,执行isql 命令会找不到数据库DSN,用odbcinst -j查看结果是:
unixODBC 2.3.0
DRIVERS............: /opt/unixODBC/etc/odbcinst.ini
SYSTEM DATA SOURCES: /opt/unixODBC/etc/odbc.ini
FILE DATA SOURCES..: /opt/unixODBC/etc/ODBCDataSources
USER DATA SOURCES..: /opt/unixODBC/etc/odbc.ini
SQLULEN Size.......: 4
SQLLEN Size........: 4
SQLSETPOSIROW Size.: 2

将/opt/unixODBC文件夹都拷贝到 /usr/local下后,执行isql 命令能够连接数据库,但C程序的SQLConnect一直都是连接失败,提示
[unixODBC][Driver Manager]Data source name not found, and no default driver specified (0)
设置了环境变量
export ODBCSYSINI=/opt/unixODBC/etc
export ODBCINI=/opt/unixODBC/etc/odbc.ini
都还是不行,将ini文件拷贝到/home下,/usr/loca/etc下都不行;


但如果安装系统的odbc,默认ini文件是在/etc下,C程序都是正常的。
求高手帮忙看看,谢谢!!!

------解决方案--------------------
一般情况配置文件默认是在/etc 下的,这样启动时好搜索路径!