连接达梦数据库(DM)时常见报错问题处理

  • 一、 用户名或密码错误(-2501)
  • 二、 网络通信异常(6001)
  • 三、 创建SOCKET连接失败(-70028)
  • 四、 连接尚未建立或已关闭
  • 五、 超过了最大连接限制(-6001)
  • 六、 超过了每个用户最大连接限制(-6002)
  • 七、 连接异常(-6007)
  • 八、 管理工具连接报系统错误


达梦数据库作为基础软件,对上层应用提供服务时,多数采用连接池的方式进行,无论哪种连接池,都需要与数据库建立connection连接。下面对连接时的常见问题进行总结。

一、 用户名或密码错误(-2501)

连接数据库时使用的用户名或者密码写错了,尤其是带特殊字符的密码,需要注意转义字符。

关于使用disql时的特殊字符处理可参考达梦数据库产品帮助手册disql工具.pdf。

达梦数据库连接 java 达梦数据库连接失败_数据库

二、 网络通信异常(6001)

此信息常见在管理工具和JAVA语言接口的程序中,可能存在以下一些场景的可能性,需要逐一进行排查:

1、 数据库服务是否已经启动成功;

2、 数据库服务器防火墙是否停止,数据库服务使用的端口号在防火墙策略中是否对外开放,对于一些特殊软硬件环境上可能需要对防火墙重新启停一下;

3、 检查数据库服务IP地址、端口号、用户名密码等配置是否正确;

4、 当前会话是否被人为close掉;

5、 连接池回收时未配置健康检查;

6、 应用/客户端所在IP是否被限制连接数据库。

达梦数据库连接 java 达梦数据库连接失败_达梦数据库连接 java_02

三、 创建SOCKET连接失败(-70028)

此信息常见在disql或C语言接口的程度中,可能存在以下一些场景的可能性,需要逐一进行排查:
1、 数据库服务是否已经启动成功;
2、 数据库服务器防火墙是否停止,数据库服务使用的端口号在防火墙策略中是否对外开放,对于一些特殊软硬件环境上可能需要对防火墙重新启停一下;
3、 检查数据库服务IP地址、端口号、用户名密码等配置是否正确;
4、 当前会话是否被人为close掉;
5、 连接池回收时未配置健康检查。

四、 连接尚未建立或已关闭

此问题常见在数据库版本进行升级后而应用程序使用的JDBC驱动包未进行同步升级,需要升级到对应版本的驱动包来解决。

五、 超过了最大连接限制(-6001)

此问题常见在高并发场景下,数据库dm.ini参数中配置的MAX_SESSIONS不够导致,该参数默认为100,指最高允许100个物理连接,一般该参数配置的大小比所有需要连接到该数据库的应用连接池最大值稍大一些即可,不用过多。

六、 超过了每个用户最大连接限制(-6002)

此问题常见在高安全场景下,在数据库中单独对用户配置的连接数限制,需要进行该用户资源限制的修改,将连接数扩大一些。但是一般进行该配置时都是为了安全考虑的限制,要综合评估后再考虑调整,0表示无限制。

达梦数据库连接 java 达梦数据库连接失败_数据库_03

七、 连接异常(-6007)

此问题常见出现在集群节点间的通信异常,主要是由于节点间内部通信网络波动或断开导致的,需要检查网络。

八、 管理工具连接报系统错误

管理工具连接远端数据库后报系统错误,且左侧的树状菜单不能显示,一般是由于客户端管理工具版本和远端数据服务版本不匹配导致,主要存在于低版本工具连接高版本数据库服务时,更新客户端管理工具版本即可解决。