LINUX配置ODBC环境连接达梦数据库常见错误
执行./configure时报错
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gawk... (cached) gawk
checking for bison... no
checking for byacc... no
checking for style of include used by make... GNU
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/soft/unixODBC-2.3.9':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
可以看出是缺少gcc导致的。
解决办法:安装gcc
[root@localhost unixODBC-2.3.9]# mount -o loop /dev/cdrom /mnt
[root@localhost unixODBC-2.3.9]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# cp ns7-adv.repo ns7-adv.repo.bak
[root@localhost yum.repos.d]# vim ns7-adv.repo
[ns7-adv-os]
name=NeoKylin Linux Advanced Server 7 - Os
baseurl=file:///mnt
gpgcheck=0
enabled=1
[root@localhost yum.repos.d]# yum install -y gcc
[root@localhost yum.repos.d]#umount /mnt

安装完成后可以正常执行./configure
[ISQL]ERROR: Could not SQLConnect
可以使用isql -v dm8来查看错误信息
情况1
[root@localhost unixODBC-2.3.9]# isql -v dm8
[01000][unixODBC][Driver Manager]Can't open lib '/dm8/bin/libdodbc.so' : file not found
[ISQL]ERROR: Could not SQLConnect
检查发现存在libdodbc.so,并且没有缺少依赖包
[root@localhost log]# locate libdodbc.so
/dm8/bin/libdodbc.so
/dm8/drivers/odbc/libdodbc.so
[root@localhost log]# ldd /dm8/bin/libdodbc.so
linux-vdso.so.1 => (0x00007ffd4e7fa000)
libdmdpi.so => /dm8/bin/libdmdpi.so (0x00007fcd6c912000)
libdmfldr.so => /dm8/bin/libdmfldr.so (0x00007fcd6bcf3000)
libdmelog.so => /dm8/bin/libdmelog.so (0x00007fcd6baed000)
libdmutl.so => /dm8/bin/libdmutl.so (0x00007fcd6b8db000)
libdmclientlex.so => /dm8/bin/libdmclientlex.so (0x00007fcd6b688000)
libdmos.so => /dm8/bin/libdmos.so (0x00007fcd6b45c000)
libdmcvt.so => /dm8/bin/libdmcvt.so (0x00007fcd6ad7c000)
libdmstrt.so => /dm8/bin/libdmstrt.so (0x00007fcd6ab68000)
librt.so.1 => /lib64/librt.so.1 (0x00007fcd6a960000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fcd6a744000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fcd6a540000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fcd6a239000)
libm.so.6 => /lib64/libm.so.6 (0x00007fcd69f37000)
libc.so.6 => /lib64/libc.so.6 (0x00007fcd69b6a000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fcd69954000)
libdmmem.so => /dm8/bin/libdmmem.so (0x00007fcd69747000)
libdmcalc.so => /dm8/bin/libdmcalc.so (0x00007fcd694d6000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcd6d791000)
执行source /home/dmdba/.bash_profile后解决
source /home/dmdba/.bash_profile
情况2
[dmdba@localhost ~]$ isql -v dm8
[S1000][unixODBC]用户名或密码错误
[ISQL]ERROR: Could not SQLConnect
修改用户名或密码后解决
本文介绍了在LINUX环境下配置ODBC连接达梦数据库时遇到的常见错误及其解决方法,包括缺少gcc导致的配置失败及libdodbc.so文件路径问题等。

243

被折叠的 条评论
为什么被折叠?



