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

相关推荐
roman_日积跬步-终至千里22 分钟前
【系统架构师案例题-知识点】数据库与缓存设计
数据库·缓存·系统架构
不剪发的Tony老师39 分钟前
DBcooper:一款面向开发者的现代数据库客户端
数据库·sql
小裕哥略帅1 小时前
mybaits跨表查询返回分页
mysql
添砖java‘’1 小时前
MYSQL数据类型
数据库·mysql
qq_372154231 小时前
如何配置表中某列的排序权重_全文索引配置与权重分配
jvm·数据库·python
2501_914245932 小时前
CSS如何使用-nth-of-type精确选择列表项_通过元素类型限制提升样式健壮性
jvm·数据库·python
吕源林2 小时前
Golang如何做本地缓存加速_Golang本地缓存教程【核心】
jvm·数据库·python
阿维的博客日记2 小时前
where id NOT IN(?,?,?) 会走索引吗?
mysql·索引
Magic@2 小时前
Redis学习[1] ——基本概念和数据类型
linux·开发语言·数据库·c++·redis·学习
你觉得脆皮鸡好吃吗2 小时前
SQL注入 基础防御
数据库·sql