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 | 达梦技术社区

相关推荐
DemonAvenger1 小时前
MySQL海量数据快速导入导出技巧:从实战到优化
数据库·mysql·性能优化
程序新视界13 小时前
MySQL中什么是回表查询,如何避免和优化?
mysql
薛定谔的算法18 小时前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端
Databend19 小时前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库
得物技术20 小时前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql
Java水解21 小时前
【MySQL】从零开始学习MySQL:基础与安装指南
后端·mysql
Raymond运维1 天前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉1 天前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql
RestCloud2 天前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud2 天前
为什么说零代码 ETL 是未来趋势?
数据库·api