首页> 中国专利> 从Informix数据库向人大金仓数据库迁移的方法

从Informix数据库向人大金仓数据库迁移的方法

摘要

本发明要解决技术问题是:将多个Informix数据库表批量导入人大金仓数据库,提高数据迁移过程中的安全性,并适用于没有网络连接场合。为了解决上述技术问题,本发明的技术方案是提供了一种从Informix数据库向人大金仓数据库数据迁移的方法。本发明提供的方法,解决了从Informix数据库向人大金仓数据库迁移数据问题,有利于信息系统的国产化迁移,有利于解决无网络环境下的数据迁移,有利于提高数据迁移过程中的安全性,有利于对迁移数据的备份,有利于节省重复导入数据的时间。

著录项

  • 公开/公告号CN105808675A

    专利类型发明专利

  • 公开/公告日2016-07-27

    原文格式PDF

  • 申请/专利权人 万达信息股份有限公司;

    申请/专利号CN201610115479.2

  • 发明设计人 周栋;李光亚;陈诚;

    申请日2016-03-01

  • 分类号G06F17/30(20060101);

  • 代理机构31001 上海申汇专利代理有限公司;

  • 代理人翁若莹;柏子雵

  • 地址 200233 上海市徐汇区桂平路481号20号楼601室

  • 入库时间 2023-06-19 00:12:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-28

    授权

    授权

  • 2016-08-24

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160301

    实质审查的生效

  • 2016-07-27

    公开

    公开

说明书

技术领域

本发明涉及一种从Informix(IBM公司出品的关系数据库管理系统)数据库向人大金仓数据库数据迁移的方法。

背景技术

信息系统在国产化软硬件环境迁移过程中,数据库迁移是关键的组成部分,Informix数据库在传统的信息系统(如:工商管理系统等)中有广泛应用,人大金仓数据库是国产数据库的主流产品,信息系统数据库的迁移需要实现从Informix数据库向人大金仓数据库的数据迁移。

人大金仓数据库自带的数据迁移工具不支持从Informix数据库向人大金仓数据库迁移,Informix数据库的数据导出格式文件人大金仓数据库无法识别,数据交换工具需要同时连接Informix数据库和人大金仓数据库进行数据交换,在没有网络连接的场合无法使用。

发明内容

本发明要解决技术问题是:将多个Informix数据库表批量导入人大金仓数据库,提高数据迁移过程中的安全性,并适用于没有网络连接场合。

为了解决上述技术问题,本发明的技术方案是提供了一种从Informix数据库向人大金仓数据库数据迁移的方法,其特征在于,包括以下步骤:

步骤1、使用Informix数据导出工具,导出数据表的文本文件,每个数据表生成1个独立的文本文件,每个文本文件名为数据表名,在每个文本文件中:第一行为字段名,以ASCII码一分隔字段名;第二行起为数据表的数据,每行数据以ASCII码二分隔,每行数据的字段值以ASCII码一分隔,其中:字符型数据以双引号括起;数字型数据保持不变;日期型数据以[]括起,年月日的分隔符为/;空值为(null);文本型数据保持不变;

步骤2、读取一个文本文件,将文件名记录为当前文本文件对应的数据表名;

步骤3、读取当前文本文件的内容,将ASCII码13及ASCII码二替换为空格,另存为临时文件tmp_数据表名。

步骤4、从临时文件tmp_数据表名的第二行开始按行读入,以ASCII码一为分隔读取每个字段值并进行数据格式转换,其中:字符型数据将两端的双引号替换为单引号;数字型数据保持不变;日期型数据去掉两端的[],将年月日的分隔符/替换为-,上午/下午替换为AM/PM,并以单引号括起;(null)替换为null;文本型数据以单引号括起,字段之间以逗号分隔,前端加入INSERTINTO表名及起始符,后端加入结束符,存入导入文件do_数据表名。

步骤5、重复步骤2到步骤4,直到所有文本文件均被处理完成;

步骤6、将所有导入文件do_数据表名转储到人大金仓数据库服务器上;

步骤7、按行依次读入导入文件do_数据表名的内容,写入新的数据库语句文件,每个文件最多包含指定的行,文件名以infx-kb1.sql~infx-kbn.sql依次顺序编号;

步骤8、在人大金仓数据库中依次执行数据库语句文件,将数据插入人大金仓数据库。

优选地,在所述步骤1中,所述日期型数据格式为4位年/2位月/2位日:2位小时:2位分钟:2位秒:3位毫秒上午/下午。

优选地,在所述步骤6中,在转储过程中对导入文件do_文件名进行加密。

本发明提供的方法,解决了从Informix数据库向人大金仓数据库迁移数据问题,有利于信息系统的国产化迁移,有利于解决无网络环境下的数据迁移,有利于提高数据迁移过程中的安全性,有利于对迁移数据的备份,有利于节省重复导入数据的时间。

具体实施方式

为使本发明更明显易懂,兹以优选实施例作详细说明如下。

现有一个Informix数据库的数据需要迁移到人大金仓数据库中,两个数据库在异地,没有网络连接。

人大金仓数据库数据迁移工具不支持从Informix数据库向人大金仓数据库迁移数据,如果采用传统的数据交换工具,则需要网络同时联通两个数据库。

如果使用本发明所提出的数据迁移方法,导出数据文件并进行转换,将数据文件转储到异地的人大金仓数据库,完成数据迁移。

假设需要迁移的数据表为fl_inst,字段id为字符型,字段order为数字型,字段opdate为日期型,字段pid为空值,字段datadesc为文本值,数据行数为60000行,则执行以下步骤:

步骤1、生成文件fl_inst.txt;第一行为以ASCII码9分隔字段名:idorderopdatepiddatadesc;第二行起为数据,id字段的值以双引号括起(如:”0001/);order字段的值不变(如:2);opdate字段的值以[]括起,格式为4位年/2位月/2位日:2位小时:2位分钟:2位秒:3位毫秒上午/下午(如:[2014/01/16:11:04:38上午]);pid字段的值为(null);datadesc字段的值不变(如:工作完成)。

步骤2、读取fl_inst.txt,记录文件名为fl_inst。

步骤3、读取fl_inst.txt的内容,将ASCII码13及ASCII码10替换为空格,另存为临时文件tmp_fl_inst.txt。

步骤4、从tmp_fl_inst.txt的第二行开始按行依次读入内容,以ASCII码9为分隔读取每个字段值并进行数据格式转换;id字段的值将两端的双引号替换为单引号(如:/0001”转换为’0001’);order字段的值保持不变(如:2);opdate字段的值去掉两端的[],将年月日的分隔符/替换为-,上午/下午替换为AM/PM,并以单引号括起(如:[2014/01/16:11:04:38上午]转换为’2014-01-16:11:04:38AM’);pid字段的值为null,datadesc字段的值以单引号括起(如:’工作完成’)。字段之间以逗号分隔,前端加入INSERTINTO表名VALUES(,后端加入);ASCII码10,(如:转换为INSERTINTOfl_instVALUES(’0001’,2,’2014-01-16:11:04:38AM’,null,’工作完成’);ASCII码10,存入导入文件do_fl_inst.txt。

步骤5、重复步骤2到4,直到所有文本文件均被处理完成。

步骤6、将导入文件do_fl_inst.txt转储到人大金仓数据库服务器上(如:通过U盘、光盘等介质),转储过程中使用SM4算法(国密对称加密算法)对数据文件进行加密。

步骤7、按行依次读入导入文件do_fl_inst.txt的内容,写入新的数据库语句文件,每个文件最多包含指定的行(如:50000行),文件名为infx-kb1.sql,infx-kb2.sql。

步骤8、在人大金仓数据库中依次执行数据库语句文件infx-kb1.sql,infx-kb2.sql,将数据插入人大金仓数据库。

步骤9、结束。

以上步骤描述了从Informix数据库向人大金仓数据库迁移数据的过程。

通过采用这种数据迁移方法,解决了在无网络环境下从Informix数据库向人大金仓数据库的数据迁移,有利于信息系统的国产化迁移,有利于提高数据迁移过程中的安全性,有利于对迁移数据的备份,有利于节省重复导入数据的时间。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号