达梦数据库(DM8)适配
1. 支持版本
- DM8
2. Docker安装
参考文档
| [Docker安装 | 达梦技术文档](https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html) |
安装前准备
| 软硬件 | 版本要求 |
|---|---|
| 终端 | X86-64 架构 |
| Docker | 2023年6月版或更新 |
安装步骤
1. 下载Docker安装包
| 访问达梦官网下载:[产品下载 | 达梦数据库](https://eco.dameng.com/download/) |
2. 导入安装包
# 拷贝安装包到/opt目录下
docker load -i dm8_20230808_rev197096_x86_rh6_64_single.tar
# 查看导入的镜像
docker images
3. 启动容器
docker run -d -p 30236:5236 \
--restart=always \
--name dm8_test \
--privileged=true \
-e PAGE_SIZE=16 \
-e LD_LIBRARY_PATH=/opt/dmdbms/bin \
-e EXTENT_SIZE=32 \
-e BLANK_PAD_MODE=1 \
-e LOG_SIZE=1024 \
-e UNICODE_FLAG=1 \
-e LENGTH_IN_CHAR=1 \
-e INSTANCE_NAME=dm8_test \
-v /data/dm8_test:/opt/dmdbms/data \
dm8_single:dm8_20230808_rev197096_x86_rh6_64
注意:挂载目录 /data/dm8_test 需要足够大的磁盘空间。
4. 检查容器状态
# 查看容器运行状态
docker ps
# 查看启动日志
docker logs -f dm8_test
# 或
docker logs -f [容器ID]
5. 容器管理命令
# 停止数据库
docker stop dm8_test
# 启动数据库
docker start dm8_test
# 重启数据库
docker restart dm8_test
重要提示:
- 在容器内使用disql时,先执行
source /etc/profile防止中文乱码 - 默认用户名/密码:SYSDBA/SYSDBA001
3. 测试环境信息
-
服务器:192.168.175.xxx
-
Docker镜像:dm8_test
-
端口:30236(映射到容器5236端口)

4. 安装DM管理工具(Windows)
参考文档
| [DM管理工具 | 达梦技术文档](https://eco.dameng.com/document/dm/zh-cn/start/tool-dm-manager.html) |
安装步骤
- 从官网下载Windows版DM8安装包
- 安装时只勾选"DM管理工具"(不安装数据库)

5. 连接DM数据库
连接信息
- 地址:192.168.175.XXX:30236
- 用户名:SYSDBA
- 密码:SYSDBA001
使用DM管理工具连接
-
打开DM管理工具
-
新建连接
-
填写上述连接信息

6. Java项目集成
Maven依赖
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>8.1.3.111</version>
</dependency>
数据库连接配置(dbcp.properties)
########dameng##########
driverClassName=dm.jdbc.driver.DmDriver
url=jdbc:dm://192.168.175.XXX:30236/IIDP_DEMO
username=SYSDBA
password=SYSDBA001
7. DM数据库兼容性测试
测试连接配置
########dameng##########
driverClassName=dm.jdbc.driver.DmDriver
url=jdbc:dm://192.168.175.XXX:30236/SNEST_TEST
username=SNEST_TEST
password=******
使用DBeaver连接
- 连接方式:选择ODBC
-
编辑ODBC模板:
- JDBC驱动类:
dm.jdbc.driver.DmDriver - JDBC URL:
jdbc:dm://192.168.175.XXX:30236/SNEST_TEST
- JDBC驱动类:
-
添加驱动:
DmJdbcDriver18-8.1.3.62.jar


9.DamengProvider介绍
DamengProvider 是一个专为达梦数据库(DM8)设计的Java JDBC提供者实现类。它继承自 OracleProvider,提供了达梦数据库特有的数据类型映射、SQL语法转换和连接处理功能。
由于DM数据库兼容Oracle语法,测试用例和测试应用程序可以与Oracle保持一致。
public class DamengProvider extends OracleProvider {
@Override
public String getDBType() {
return DBType.Dameng.getName();
}
}
10.注意事项
- 确保挂载的磁盘空间足够
- 容器内使用disql时注意编码设置
- 根据实际需求调整容器启动参数
- 生产环境建议使用更复杂的配置和安全设置