mysql 数据库迁移到达梦数据库

1.windows安装达梦数据库,去官网下载 dm8 进行安装,安装后,可以使用管理工具管理数据

使用迁移工具对数据进行迁移;

2.使用php 或者 thinkphp连接达梦数据库

2.1、先PHP开启DM扩展

从达梦数据库安装目录下drivers/php_pdo 复制对应的文件到 php 安装目录下的 ext目录下

pdo73nts_dm.dll

php73nts_dm.dll

复制代码
extension=pdo74nts_dm.dll
extension=php74nts_dm.dll

2.2 、到数据库服务器的%DM_HOME%\drivers\dpi,找到以下dll文件

dmdpi.dll

dmclientlex.dll

dmutl.dll

dmstrt.dll

dmshm.dll

dmos.dll

dmmsg.dll

dmmout.dll

dmmem.dll

dmelog.dll

dmdta.dll

dmdcr.dll

dmcyt.dll

dmcvt.dll

dmcpr.dll

dmcomm.dll

dmcfg.dll

dmcalc.dll

放到php根目录,当前目录下

重启服务器,如果遇到服务器启动不了,可能是缺少了一些dll文件,可以多复制一些进去然后再启动;

然后使用 php -m 或的 phpinfo() 查看模块是否启动,如果看到DM 和 PDO_DM 则表示启动完成;

然后就可以使用程序连接数据库了

复制代码
<?php
try
{
    $link = dm_connect("localhost:5236", "SYSDBA", "cdbottle123")
        or die("Could not connect : " . dm_error()."\n");  

    //使用 dm_error 会显示 dm 的 php 接口返回的错误,执行成功,则继续往下执行。
    print "php: Connected successfully"."\n"; 

    /*断开连接*/ 	
    dm_close($link); 
}
catch(Exception $e)
{
    $e->getMessage() . "<br/>";
}
?>

如果看到 ,

表示连接成功,如果遇到 dpi_login: -70089 加密模块加载失败,则可能是文件没有放到 system32文件夹下,然后把数据库安装目录下 bin下面的*. dll文件放到system32下(如果不行就全部放)

如果放了,一般就成功了;

然后就可以使用 迁移工具对数据进行迁移,达梦一个模式下就代表一个数据库(用户),可以先创建数据库,在做迁移工作;

注意:如果使用 pdo(thinkphp5.1 获取数据时,默认使用pdo),如果发现中午乱码,是因为

PDO方式下,即使设置了数据库为UTF-8编码,使用php的pdo方式查询出的数据依然是GBK编码。

解决办法:

打开C:\windows\System32\dm_svc.conf文件,(dm_svc.conf为刚才放入的文件)新增一行:

复制代码
CHAR_CODE=(PG_UTF8)

即可

迁移数据前,一般是先在达梦创建好用户后在迁移

复制代码
create tablespace CQSE_RECOM datafile 'CQSE_RECOM.DBF' size 128 CACHE = NORMAL;
create user CQSE_RECOM identified by "cdbottle123" default tablespace CQSE_RECOM default index tablespace CQSE_RECOM;
grant public,resource,vti,soi to CQSE_RECOM;

兼容 mysql 需要在数据库中执行下,然后重启数据库 命令:

复制代码
sp_set_para_value(2,'COMPATIBLE_MODE',4);

thinkphp5.1 对接达梦数据库:tp5(ThinkPHP 5.1)连接达梦数据库_thinkphp 达梦-CSDN博客

laravel 对接达梦数据库:dm适配Laravel | 达梦技术社区

相关推荐
Turnip12023 小时前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区3 小时前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1777 小时前
《从零搭建NestJS项目》
数据库·typescript
加号31 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏1 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐1 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再1 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
WeiXin_DZbishe1 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5
tryCbest1 天前
数据库SQL学习
数据库·sql
jnrjian1 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle