【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>

PS: 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>

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

离线驱动下载

Dm7JdbcDriver18-7.6.1.120.jar
DmJdbcDriver18-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

连接url配置

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

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

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

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

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

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

Dm7JdbcDriver18版本 Build-Time 使用的连接串类型 是否支持指定schema schema是否区分大小写 是否可用 不可用原因
7.6.0.165 2019.06.04 1 不支持LocalDateTime类型
7.6.1.120(建议) 2022.09.14 1 -
DmJdbcDriver18版本 Build-Time 使用的连接串类型 是否支持指定schema schema是否区分大小写 是否可用 不可用原因
8.1.2.192 2023.01.12 1 -
8.1.3.12(建议) 2023.04.17 2 -

方言配置

pamirs方言配置
pamirs:
  dialect:
    ds:
      base:
        type: DM
        version: 8
        majorVersion: 8
      pamirs:
        type: DM
        version: 8
        majorVersion: 8
数据库版本 type version majorVersion
7-20220916 DM 7 20220916
8-20230418 DM 8 8
schedule方言配置
pamirs:
  event:
    schedule:
      dialect:
        type: DM
        version: 8
        majorVersion: 8
type version majorVersion
DM 8 8

PS:由于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';

Oinone社区 作者:nation原创文章,如若转载,请注明出处:https://doc.oinone.top/backend/48.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
nation的头像nation数式员工
上一篇 2023年6月20日 下午4:07
下一篇 2023年11月2日 下午1:58

相关推荐

  • 如何自定义Excel导出功能

    介绍 在平台提供的默认导出功能无法满足业务需求的时候,我们可以自定义导出功能,以满足业务中个性化的需求。 功能示例 继承平台的导出任务模型,加上需要在导出的弹窗视图需要展示的字段 package pro.shushi.pamirs.demo.api.model; import pro.shushi.pamirs.file.api.model.ExcelExp…

    2024年1月3日
    60200
  • 工作流-流程代办等页面自定义

    1. 审批/填写节点的视图页面 在界面设计器中创建对应模型的表单视图,可根据业务场景需要自定义所需流程待办的审批页面 2. 在审批/填写节点中选择刚创建的视图 在工作流待办数据权限可在节点数据权限中可对字段设置查看、编辑、隐藏

    2024年5月14日
    75000
  • Oinone设计器部署参数说明

    概述 Oinone提供两种设计器部署方式,合作伙伴可以自行选择适合自己的部署方式。 Docker配置参数 环境变量 ARG_ENV:指定spring.profiles.active(默认:dev) ARG_LIFECYCLE:指定-Plifecycle(默认:INSTALL) JVM_OPTIONS:jvm参数 PROGRAM_ARGS:程序参数 JVM_O…

    2024年11月4日
    52500
  • Oinone离线部署设计器镜像

    概述 Oinone平台为合作伙伴提供了多种部署方式,这篇文章将介绍如何在私有云环境部署Oinone平台Docker镜像。 本文以5.2.20.1版本为例进行介绍,使用amd64架构的体验镜像进行部署。具体版本号以数式提供的为准 部署环境要求 包含全部中间件及设计器服务的环境要求 CPU:8 vCPU 内存(RAM):16G以上 硬盘(HDD/SSD):60G…

    2024年11月1日
    32300
  • 环境运行时Jar版本控制

    环境运行时Jar版本控制 前景 为了避免基于低代码定义产生的元数据错乱。因此产生了运行时Jar版本检查功能。 现象 如果当前运行时依赖的Ja版本低于已安装版本,启动时会有如下类似信息提示: 解决 按照提示升级依赖Jar版本 通过启动参数 -PgoBack=true 强制覆盖安装当前运行时版本 java -jar 方式 java -jar xxx.jar -P…

    2025年3月10日
    22300

发表回复

登录后才能评论