关于达梦DM8数据库odbc连接报“[08S01][unixODBC]创建SOCKET连接失败”的问题
1、安装unixODBC-2.3.0.tar.gz
[root@local opt] tar -zxvf unixODBC-2.3.0.tar.gz
[root@local opt] cd unixODBC-2.3.0/
[root@local unixODBC-2.3.0] ./configure
[root@local unixODBC-2.3.0] make
[root@local unixODBC-2.3.0] make install
2、配置odbc连接
[root@local unixODBC-2.3.0] cd /usr/local/etc/
[root@local etc] vim odbcinst.ini
粘贴以下内容,注意这里的Driver的目录是DM8的安装目录的bin目录:
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
[root@local etc] vim odbc.ini
粘贴以下内容,注意修改数据库连接的地址、用户名、密码、端口号,顶上的[DM8]标签大小写都可以:
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236
3、测试odbc连接
先切换到dmdba用户
[root@local etc] su - dmdba
[dmdba@local ~] isql dm8 -v
正常情况下应如下面显示的样子:
如果报下图中的错误:
这是因为当前用户不对,不能用root
用户进行测试,而是要切换到dmdba
用户。因为 root 没有配置 LD_LIBRARY_PATH
环境变量。
如果已经是dmdba
用户了,则可能是odbcinst.ini
里配置的Driver=/dm8/bin/libdodbc.so
的路径不对,注意改成自己安装DM8的安装路径(可以通过echo $DM_HOME
查看安装目录)
可以用dmdba
用户打印一下LD_LIBRARY_PATH
环境变量的值看看路径是否正确:
[dmdba@local etc] echo $LD_LIBRARY_PATH
:/dm8/bin
[dmdba@local etc] echo $DM_HOME
/dm8
如果报下图中的错误:
这是因为在odbc.ini
里配置的数据库连接参数有问题,检查一下数据库的连接地址、用户名、密码、端口号等是否正确。
注意不要被错误信息里的“open fail! path:./libcrypto.so”
这一句给误导了。