概要描述
本文就 ODBC 配置完成后连不上 inceptor 的常见问题进行收录归纳,ODBC 安装配置请参考文章 Linux ODBC 连接 Inceptor。
详细说明
-
根据手册编译安装 Driver Manager 时
make
命令报错:aclocal-1.11:command not found
该报错是因为没有装 automake,需要执行yum install -y automake
先安装,装完后 必须 得重新解压 unixODBC 包再进行编译安装。 -
isql 连接测试报错:[ISQL]ERROR: Could not SQLConnect
通过加参数isql -v
能看到如下错误:[01000][unixODBC][Driver Manager]Can't open lib '/usr/local/lib64/libODBC4HiveServer2.so' : file not found
ldd /usr/local/lib64/libODBC4HiveServer2.so
,能看到 libsasl2.so.2==>not found,可以通过如下软链接方式解决:$ ln -sv /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2
-
isql 连接测试报错: SASL Other:No worthy mechd found, Segmentation faild
该报错可通过安装如下工具解决:$ yum install cyrus-sasl-gssapi cyrus-sasl-plain -y
-
配置文件都正确,但 isql 报 [Driver Manager]Data source name not found, and no default driver specified]
odbcinst -j
命令能发现打印的配置信息有问题,原因未知,可通过如下方式尝试解决(或加入用户环境变量,路径为安装时的 ODBC 时的实际路径,本例为 /etc)export ODBCSYSINI="/etc" export ODBCINI="/etc/odbc.ini"
-
isql 能成功,但是一些客户端工具(如 php)连接还是会返回第 2 点中的错误,ldd 命令检查其实还是有 libodbcinst.so.2 => not found
$ ln -sv /usr/local/lib/libodbcinst.so.2 /usr/lib64/libodbcinst.so.2
Tips:排查过程中,可以调整 /etc/log4cplus.properties (来自 /usr/local/inceptor) 里的日志级别来协助定位