• 首页
  • 产品中心
    • 数式Oinone四大产品

      低代码开发平台无代码开发平台集成开发平台AI大模型开发
    • 数式Oinone体系能力

      用户与组织权限管理文件管理消息中心国际化业务审计
    • 数式Oinone核心产品特性

      低无一体面向软件公司场景无限制应用级扩容可分可合
  • 服务中心
    • 客户服务

      预约演示方案咨询私有部署找人定制
    • 开发者

      问答下载
    • Oinone学院

      社区学习

    《精讲面向软件公司的低代码平台——以Oinone为例》

  • 合作伙伴
    渠道申请伙伴名录专家库
  • 关于数式
0571-88757863

数据方言:【DM】后端部署使用Dameng数据库(达梦)


一、驱动配置

达梦数据库的服务端版本与驱动版本需保持匹配一致。强烈建议选用服务端安装过程中所提供的 JDBC 驱动,避免采用官方 Maven 仓库中的驱动。

当出现 “表 xx 中不能同时包含聚集 KEY 和大字段” 的报错时,在建表阶段应明确指定非聚集主键。可通过执行 SELECT * FROM V$DM_INI WHERE PARA_NAME = 'PK_WITH_CLUSTER'; 语句查询相关配置信息,随后使用 SP_SET_PARA_VALUE (1,'PK_WITH_CLUSTER',0)语句进行参数设置。

(一)Maven 配置 DM8(目前 maven 仓库最新版本)

<dm.version>8.1.2.192</dm.version>
<dependency>
  <groupId>com.dameng</groupId>
  <artifactId>DmJdbcDriver18</artifactId>
  <version>${dm.version}</version>
</dependency>

注意:

8.1.3.12版本驱动需要手动上传到nexus仓库使用,本文包含该版本相关内容。

(二)Maven配置 DM7

<dm7.version>7.6.1.120</dm7.version>
<dependency>
  <groupId>com.dameng</groupId>
  <artifactId>Dm7JdbcDriver18</artifactId>
  <version>${dm7.version}</version>
</dependency>

注意:

7.6.1.120版本驱动需要手动上传到nexus仓库使用,本文包含该版本相关内容。

(三)离线驱动下载

Dm7JdbcDriver18-7.6.1.120.jarDmJdbcDriver18-8.1.3.12.jar

二、JDBC 连接配置

pamirs:
  datasource:
    base:
      type: com.alibaba.druid.pool.DruidDataSource
      driverClassName: dm.jdbc.driver.DmDriver
      # url: jdbc:dm://127.0.0.1:5236/BASE?clobAsString=true&useUnicode=true&characterEncoding=utf8&compatibleMode=mysql
      url: jdbc:dm://127.0.0.1:5236?schema=BASE&clobAsString=true&columnNameUpperCase=false&useUnicode=true&characterEncoding=utf8&compatibleMode=mysql
      username: xxxxxx
      password: xxxxxx
      initialSize: 5
      maxActive: 200
      minIdle: 5
      maxWait: 60000
      timeBetweenEvictionRunsMillis: 60000
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      asyncInit: true
      validConnectionCheckerClassName: com.alibaba.druid.pool.vendor.OracleValidConnectionChecker
      validationQuery: SELECT 1 FROM DUAL

注:更多 YAML 配置请前往 Module API 查阅。

(一)连接url配置

点击查看官方文档:DM JDBC 编程指南

1、连接串1

jdbc:dm://127.0.0.1:5236?schema=BASE&clobAsString=true&columnNameUpperCase=false&useUnicode=true&characterEncoding=utf8&compatibleMode=mysql

注意:

schema参数在低版本驱动区分大小写,高版本驱动不再区分大小写,为了避免错误,统一使用全大写。columnNameUpperCase参数与官方介绍不一致,为了避免错误,需要显式指定。

2、连接串2

jdbc:dm://127.0.0.1:5236/BASE?clobAsString=true&useUnicode=true&characterEncoding=utf8&compatibleMode=mysql

注意:

可能是未来更高版本中使用的连接串形式。

达梦数据库在不同驱动版本下需要使用不同的连接串进行处理,具体可参考下表: (使用错误的连接串将无法正常启动)

Dm7JdbcDriver18版本Build-Time使用的连接串类型是否支持指定schemaschema是否区分大小写是否可用不可用原因
7.6.0.1652019.06.041否是否不支持LocalDateTime类型
7.6.1.120(建议)2022.09.141是是是-
DmJdbcDriver18版本Build-Time使用的连接串类型是否支持指定schemaschema是否区分大小写是否可用不可用原因
8.1.2.1922023.01.121是否是-
8.1.3.12(建议)2023.04.172是否是-

三、方言配置

(一)pamirs 方言配置

pamirs:
  dialect:
    ds:
      base:
        type: DM
        version: 8
        majorVersion: 8
      pamirs:
        type: DM
        version: 8
        majorVersion: 8
数据库版本typeversionmajorVersion
7-20220916DM720220916
8-20230418DM88

(二)schedule方言配置

pamirs:
  event:
    schedule:
      dialect:
        type: DM
        version: 8
        majorVersion: 8
typeversionmajorVersion
DM88

注意:

由于schedule的方言在多个版本中并无明显差异,目前仅提供一种方言配置。

四、其他配置

(一)逻辑删除的值配置

pamirs:
  mapper:
    global:
      table-info:
        logic-delete-value: (CAST(SYSTIMESTAMP AS TIMESTAMP) - CAST(TIMESTAMP '1970-01-01 08:00:00' AS TIMESTAMP)) * 8640000000000

(二)达梦数据库用户初始化及授权

-- init oinone role (role name can be modified by oneself)

CREATE ROLE OINONE;

GRANT CREATE SCHEMA,
      CREATE TABLE,
      CREATE INDEX,
      INSERT ANY TABLE,
      UPDATE ANY TABLE,
      select ANY TABLE,
      SELECT ANY VIEW
      TO OINONE;

SELECT * FROM DBA_ROLES;

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='OINONE';

-- init root user (user name can be modified by oneself)

CREATE TABLESPACE ROOT DATAFILE 'ROOT.DBF' SIZE 128;

CREATE USER "root" IDENTIFIED BY "shushi@2019";

ALTER USER "root" DEFAULT TABLESPACE ROOT DEFAULT INDEX TABLESPACE ROOT;

GRANT RESOURCE,OINONE TO ROOT;

select * FROM DBA_ROLE_PRIVS WHERE GRANTEE='ROOT';
编辑此页
最近更新:2026/1/15 04:02
上一页
数据操作:非存储字段搜索(unstore field seach)
下一页
数据方言:【KDB】后端部署使用Kingbase数据库(人大金仓/电科金仓)
默认页脚
Copyright © 2026 Mr.Hope