ThinkPHP orm driver for DM(达梦),KingDatabase(金仓)

v1.1.9 2024-07-04 04:01 UTC

This package is auto-updated.

Last update: 2024-11-10 07:22:33 UTC


README

安装

composer require bingher/db

参考资料

达梦数据库适配问题及解决方案

  1. MySQL 迁移后,自增主键,执行 insert 报错:仅当指定列列表,且 SET IDENTITY_INSERT 为 ON 时,才能对自增列赋值
1、如果自增列所在的列是由应用程序自动维护该数值的,那么可以将该列设置为非自增列;
2、如果自增列需要保留,只是对特殊的记录需要维护,那每次在更新前执行:
    SET IDENTITY_INSERT 模式名.表名 ON;
    然后执行具体SQL;
    执行后再关闭:
    SET IDENTITY_INSERT 模式名.表名 OFF;
  1. 数据库插入中文乱码 php7 使用 PDO 连接达梦数据库 V8 出现中文乱码

  2. mysql 中 varchar 默认单位是字符,达梦默认是字节,需要在达梦数据库初始化的时候设置初始化参数 LENGTH_IN_CHAR=1 (图形界面勾选 VARCHAR 类型长度是否以字符为单位)

  3. mysql 迁移 DATETIME 报错 mysql 迁移到 dm 报错【错误消息: 不支持该数据类型】

  4. 迁移报错 执行 MySQL 迁移任务时报错

  5. mysql5.7 迁移 dm8 配置

    • mysql 数据库驱动选择 mysql-connector-java-8.0.30.jar 类名:com.mysql.jdbc.Driver
    • dm8 数据库驱动选择 dmdbms\drivers\jdbc\DmJdbcDriver18.jar 类名:dm.jdbc.driver.DmDriver
    • 表定义 -> 如果目的表已存在,先删除 √
    • 约束 -> 保留引用表原有模式信息 x
    • 数据 -> 删除后拷贝记录 √

达梦常用操作

  1. 创建表空间及用户
create tablespace "efileyun" datafile '/data/dmdata/DAMENG/efileyun.DBF' size 2048 ;--创建表空间efileyun,数据文件为efileyun.DBF。

create user "EFILEYUN" identified by "xmhymake123456" --创建用户
default tablespace "efileyun"--指定用户EFILEYUN表空间为efileyun
default index tablespace "efileyun";--指定用户EFILEYUN索引表空间为efileyun
grant "PUBLIC","RESOURCE","SOI","SVI","VTI" to "efileyun";--授予用户EFILEYUN常规权限
  1. 兼容 mysql 模式

    兼容性参数设置:

  2. 达梦数据库导入导出 SQL 使用迁移工具 导入:选择 sql->dm 导入 sql 导出:选择 dm->sql 导出 sql