CN105808675A - 从Informix数据库向人大金仓数据库迁移的方法 - Google Patents
从Informix数据库向人大金仓数据库迁移的方法 Download PDFInfo
- Publication number
- CN105808675A CN105808675A CN201610115479.2A CN201610115479A CN105808675A CN 105808675 A CN105808675 A CN 105808675A CN 201610115479 A CN201610115479 A CN 201610115479A CN 105808675 A CN105808675 A CN 105808675A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- database
- text
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明要解决技术问题是:将多个Informix数据库表批量导入人大金仓数据库,提高数据迁移过程中的安全性,并适用于没有网络连接场合。为了解决上述技术问题,本发明的技术方案是提供了一种从Informix数据库向人大金仓数据库数据迁移的方法。本发明提供的方法,解决了从Informix数据库向人大金仓数据库迁移数据问题,有利于信息系统的国产化迁移,有利于解决无网络环境下的数据迁移,有利于提高数据迁移过程中的安全性,有利于对迁移数据的备份,有利于节省重复导入数据的时间。
Description
技术领域
本发明涉及一种从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数据库向人大金仓数据库的数据迁移,有利于信息系统的国产化迁移,有利于提高数据迁移过程中的安全性,有利于对迁移数据的备份,有利于节省重复导入数据的时间。
Claims (3)
1.一种从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、在人大金仓数据库中依次执行数据库语句文件,将数据插入人大金仓数据库。
2.如权利要求1所述的一种从Informix数据库向人大金仓数据库数据迁移的方法,其特征在于,在所述步骤1中,所述日期型数据格式为4位年/2位月/2位日:2位小时:2位分钟:2位秒:3位毫秒上午/下午。
3.如权利要求1所述的一种从Informix数据库向人大金仓数据库数据迁移的方法,其特征在于,在所述步骤6中,在转储过程中对导入文件do_文件名进行加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610115479.2A CN105808675B (zh) | 2016-03-01 | 2016-03-01 | 从Informix数据库向人大金仓数据库迁移的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610115479.2A CN105808675B (zh) | 2016-03-01 | 2016-03-01 | 从Informix数据库向人大金仓数据库迁移的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105808675A true CN105808675A (zh) | 2016-07-27 |
CN105808675B CN105808675B (zh) | 2020-04-28 |
Family
ID=56466002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610115479.2A Active CN105808675B (zh) | 2016-03-01 | 2016-03-01 | 从Informix数据库向人大金仓数据库迁移的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105808675B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682078A (zh) * | 2016-11-17 | 2017-05-17 | 珠海格力智能装备有限公司 | 工控机数据转储方法及系统 |
CN109213635A (zh) * | 2018-09-11 | 2019-01-15 | 许继集团有限公司 | 一种录波装置的损坏数据表修复方法及系统 |
CN110609826A (zh) * | 2019-09-20 | 2019-12-24 | 四川长虹电器股份有限公司 | 一种数据抽取的方法 |
CN112269775A (zh) * | 2020-10-26 | 2021-01-26 | 万达信息股份有限公司 | 一种异构cpu体系下数据全量迁移的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064487A1 (en) * | 2002-10-01 | 2004-04-01 | Nguyen Liem M. | Method and apparatus to migrate a database |
CN101789021A (zh) * | 2010-02-24 | 2010-07-28 | 浪潮通信信息系统有限公司 | 一种通用可配置的数据库数据迁移方法 |
CN102063500A (zh) * | 2011-01-04 | 2011-05-18 | 北京凯铭风尚网络技术有限公司 | 一种数据迁移的方法及装置 |
CN103440273A (zh) * | 2013-08-06 | 2013-12-11 | 北京航空航天大学 | 一种数据跨平台迁移方法及装置 |
-
2016
- 2016-03-01 CN CN201610115479.2A patent/CN105808675B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064487A1 (en) * | 2002-10-01 | 2004-04-01 | Nguyen Liem M. | Method and apparatus to migrate a database |
CN101789021A (zh) * | 2010-02-24 | 2010-07-28 | 浪潮通信信息系统有限公司 | 一种通用可配置的数据库数据迁移方法 |
CN102063500A (zh) * | 2011-01-04 | 2011-05-18 | 北京凯铭风尚网络技术有限公司 | 一种数据迁移的方法及装置 |
CN103440273A (zh) * | 2013-08-06 | 2013-12-11 | 北京航空航天大学 | 一种数据跨平台迁移方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682078A (zh) * | 2016-11-17 | 2017-05-17 | 珠海格力智能装备有限公司 | 工控机数据转储方法及系统 |
CN106682078B (zh) * | 2016-11-17 | 2019-10-01 | 珠海格力电器股份有限公司 | 工控机数据转储方法及系统 |
CN109213635A (zh) * | 2018-09-11 | 2019-01-15 | 许继集团有限公司 | 一种录波装置的损坏数据表修复方法及系统 |
CN109213635B (zh) * | 2018-09-11 | 2020-10-30 | 许继集团有限公司 | 一种录波装置的损坏数据表修复方法及系统 |
CN110609826A (zh) * | 2019-09-20 | 2019-12-24 | 四川长虹电器股份有限公司 | 一种数据抽取的方法 |
CN112269775A (zh) * | 2020-10-26 | 2021-01-26 | 万达信息股份有限公司 | 一种异构cpu体系下数据全量迁移的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105808675B (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105808675A (zh) | 从Informix数据库向人大金仓数据库迁移的方法 | |
US20180137134A1 (en) | Data snapshot acquisition method and system | |
CN103761318B (zh) | 一种关系型异构数据库数据同步的方法及系统 | |
CN105243067B (zh) | 一种实现实时增量同步数据的方法及装置 | |
CN105138635B (zh) | 一种利用哈希值比对进行数据增量复制的方法 | |
CN100464334C (zh) | 应用于数据仓库的数据增量备份与恢复的方法 | |
CN102426609A (zh) | 一种基于MapReduce编程架构的索引生成方法和装置 | |
CN103825930B (zh) | 一种分布式环境下的实时数据同步方法 | |
CN101876996A (zh) | 一种内存数据库到文件数据库的数据同步方法及系统 | |
CN102722584A (zh) | 数据存储系统及方法 | |
CN109298978A (zh) | 一种指定位置的数据库集群的恢复方法及系统 | |
CN104391891B (zh) | 一种数据库异构复制方法 | |
CN105787090A (zh) | 一种电力数据的olap系统的索引建立方法和系统 | |
CN105677915A (zh) | 一种基于引擎的分布式业务数据存取方法 | |
CN103207916B (zh) | 元数据处理的方法和装置 | |
CN117473021B (zh) | 一种基于cdc方式的达梦数据库增量同步实现方法 | |
CN113590639A (zh) | 一种网闸隔离的数据库之间数据同步方法 | |
CN108304527B (zh) | 一种数据提取方法 | |
CN101937464B (zh) | 基于逐字索引的密文检索方法 | |
CN106855890B (zh) | 一种实现高性能数据库最终一致性全文检索的方法 | |
CN111858767A (zh) | 同步数据的处理方法、装置、设备及存储介质 | |
CN103942122A (zh) | 一种识别AVI类型block的方法 | |
CN111221967A (zh) | 一种基于区块链架构的语言数据分类存储系统 | |
CN112231324A (zh) | 一种实现增量数据比对的系统及方法 | |
CN111414382A (zh) | 一种基于MongoDB的慢SQL聚合展示方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |