Skip to content

达梦数据库适配

达梦数据库适配环境说明

本文档编写是建立在 dm8_20240103_x86_win_64 版本下适配的,其他版本大同小异。

建立数据库环境

下载并安装达梦 DM8,可以复制以下链接进入官网下载达梦 DM8:

https://www.dameng.com/DM8.html ,链接只做参考,如已改变,请访问官网下载。

连接数据库并创建公共数据库

使用达梦 DM8 自带客户端软件 DM 管理工具 连接达梦数据库,输入数据库连接配置服务器地址、用户名 SYSDBA 和密码连接数据库,然后,创建公共数据库 Y9_PUBLIC

连接本地数据库,如下图:

dameng1

首先需要先新建用户,如下图:

dameng2

用户授权,如下图:

dameng3

新建模式,并且,选择模式拥有者,也就是之前新建的用户,如下图:

dameng4

点击确定,数据库就完成新建。

dameng5



修改组织身份管理 platform 配置文件

项目工程目录:risenet-y9boot-webapp-platform/src/resources/application.yml

yaml
# 如开启 javers 实体审计日志则需做对应调整,否则无需关注
javers:
    newObjectSnapshot: true
    # 由于 javers 没有兼容达梦数据库,关闭自动生成表结构的开关,手动导入 y9-digitalbase-module/y9-module-platform/risenet-y9boot-webapp-platform/src/main/resources/javers-dm.sql
    sqlSchemaManagementEnabled: false
    # 是否开启 javers 实体审计日志记录
    springDataAuditableRepositoryAspectEnabled: true
    # 是否开启 javers 自动配置
    enabled: false
    # 由于 javers 没有直接兼容达梦数据库,使用 oracle 方言来做间接的兼容
    dialect: oracle
spring:
    datasource:
        druid:
            filter:
                wall:
                    #关闭Druid防御SQL注入攻击的WallFilter,不然无法操作数据库
                    enabled: false 
            y9-public:
                #修改为Dameng驱动类名称
                driver-class-name: dm.jdbc.driver.DmDriver 
                #修改为Dameng连接池url
                url: jdbc:dm://localhost:5236?compatibleMode=oracle  
                #修改为Dameng的用户
                username: Y9_PUBLIC
                #修改为Dameng的用户密码         
                password: '111111'
    jpa:
        #修改为Dameng版本对应的方言
        database-platform: org.hibernate.dialect.DmDialect
        properties:
            hibernate:
                hbm2ddl:
                    #因为liquibase不兼容Dameng数据库。开启Spring jpa配置让表自动生成
                    auto: update
                #修改为Dameng版本对应的方言
                dialect: org.hibernate.dialect.DmDialect
y9:
    feature:
        # 因为 liquibase 不兼容达梦数据库,关闭 liquibase
        liquibase:
            tenant-enabled: false
            public-enabled: false

修改单点登录 sso 配置文件

项目工程目录:risenet-y9boot-webapp-sso-server-jpa/src/resources/application.yml

IMPORTANT

配置中的数据库连接池的配置:(注:此配置只有纯数据库模式的单点登录需要修改) 单点登录的配置需要修改两个地方:服务注册和票据注册

yaml
cas:
    # 服务注册 jpa 配置
    serviceRegistry:
        jpa:
            dialect: org.hibernate.dialect.DmDialect
            driver-class: dm.jdbc.driver.DmDriver
            url: jdbc:dm://localhost:5236
            user: Y9_PUBLIC
            password: '111111'

    # 票据注册 jpa 配置
    ticket:
        registry:
            jpa:
                enabled: true
                dialect: org.hibernate.dialect.DmDialect
                driver-class: dm.jdbc.driver.DmDriver
                url: jdbc:dm://localhost:5236
                user: Y9_PUBLIC
                password: '111111'
spring:
    integration:
        jdbc:
            # 同样由于使用到的 spring-integration 没有直接兼容达梦数据库,使用 oracle 方言来做间接的兼容
            platform: oracle

Released under the GPL-3.0 License.