一种MySQL数据库中数据同步到SQLServer数据库中的方法和装置制造方法及图纸

技术编号:27296074 阅读:16 留言:0更新日期:2021-02-06 12:06
本发明专利技术公开了一种MySQL数据库中数据同步到SQL Server数据库中的方法和装置,属于数据库同步领域;方法包括以下步骤:查询MySQL数据库的系统表,从中获取待同步的数据;根据获取的数据建立SQL Server数据库能够识别的临时表;最后将临时表合并到SQL Server数据库的目标表中,完成将MySQL数据库中数据同步到SQL Server数据库。本申请方案通过建立临时表将MySQL数据库里的待同步数据转换为SQL Server数据库能够识别的数据格式,最终将临时表数据合并到SQL Server数据库中,解决了MySQL数据库和SQL Server数据库中数据类型不匹配,无法将MySQL数据库的数据直接同步到SQL Server数据库中的问题,能够快递的将MySQL数据库的数据同步SQL Server数据库中。Server数据库中。Server数据库中。

【技术实现步骤摘要】
一种MySQL数据库中数据同步到SQL Server数据库中的方法和装置


[0001]本专利技术涉及数据库同步技术,特别地,涉及一种MySQL数据库中数据同步到SQL Server数据库中的方法和装置。

技术介绍

[0002]SQL Server数据库和MySQL数据库是日常常用的两种数据库,MYSQL短小精悍,容易上手,操作简单,免费供用的。MySQL数据库相对其它数据库有特色又实用的语法多一些。但是运行速度慢,不够稳定,有掉线的情况,难以作为大型数据库。而SQLServer数据库是大型数据库,较为稳定,能做一般大系统的数据仓库,运行速度明显比MYSQL快很多,但是成本较高。因此在需要多个数据库时,一般采用多个MySQL数据库分别存储部分数据,最后采用SQL Server数据库作为总数据库。但是由于MySQL数据库和SQL Server数据库中数据类型不匹配,无法将MySQL数据库的数据直接同步到SQL Server数据库中。

技术实现思路

[0003]为了克服现有技术的不足,本专利技术提供一种MySQL数据库中数据同步到SQL Server数据库中的方法和装置,以解决MySQL数据库和SQL Server数据库中数据类型不匹配,无法将MySQL数据库的数据直接同步到SQL Server数据库中的问题。
[0004]本专利技术解决其技术问题所采用的技术方案是:
[0005]一方面,
[0006]一种MySQL数据库中数据同步到SQL Server数据库中的方法,包括以下步骤:
[0007]查询MySQL数据库的系统表,所述系统表包含待同步的数据;
[0008]根据所述系统表建立所述SQL Server数据库能够识别的临时表;
[0009]将所述临时表的数据合并到所述SQL Server数据库的目标表中,以完成将MySQL数据库中数据同步到SQL Server数据库。
[0010]进一步地,所述查询MySQL数据库的系统表包括:通过openquery链接并查询MySQL数据库的系统表获取待同步的数据。
[0011]进一步地,所述根据所述系统表建立所述SQL Server数据库能够识别的临时表包括:
[0012]获取所述系统表内待同步的数据的特征,所述特征包括列位置、列名、默认值、是否允许为空和数据类型;
[0013]根据所述特征建立临时表。
[0014]进一步地,所述根据所述特征建立临时表包括:
[0015]通过列位置确定临时表存储字段的数量;
[0016]通过是否允许为空定义临时表的字符串;
[0017]将MySQL的数据的数据类型转换为SQL Server的数据类型后放入临时表。
[0018]进一步地,还包括:
[0019]获取MySQL数据库执行查询的日志,所述日志包括每次执行查询的开始时间、结束时间和报错信息;
[0020]根据所述日志获取再次执行查询时需要查询数据的时间段。
[0021]进一步地,所述根据所述日志获取再次执行查询时需要查询数据的时间段包括:
[0022]获取上一次没有报错信息的查询执行的开始时间和再次执行查询时的开始时间;所述时间段为从上一次的开始时间到本次的开始时间的数据。
[0023]进一步地,所述将所述临时表的数据合并到所述SQL Server数据库的目标表中包括:
[0024]通过merge语句获取SQL Server数据库的目标表中的字段ID及字段名称;
[0025]根据所述字段ID和字段名称将数据临时表合并到同步表中。
[0026]进一步地,所述根据所述字段ID和字段名称将数据临时表合并到同步表中包括:
[0027]根据所述字段ID和字段名称查找所述临时表的每个字段是否与目标表中的任一字段匹配;
[0028]根据查找结果处理所述临时表字段内的数据。
[0029]进一步地,所述根据匹配结果处理所述临时表字段内的数据包括:
[0030]如果没有找到匹配的字段,则在所述目标表中新建字段并将所述临时表字段内的数据插入到新建的字段内;
[0031]如果找到匹配的字段,则将所述临时表字段内的数据更新到找到的匹配的字段内。
[0032]另一方面,
[0033]一种MySQL数据库中数据同步到SQL Server数据库中的装置,包括:
[0034]系统表查询模块,用于查询MySQL数据库的系统表,所述系统表包含待同步的数据;
[0035]临时表建立模块,用于根据所述系统表建立所述SQL Server数据库能够识别的临时表;
[0036]目标表同步模块,用于将所述临时表的数据合并到所述SQL Server数据库的目标表中,以完成将MySQL数据库中数据同步到SQL Server数据库。
[0037]本申请采用以上技术方案,至少具备以下有益效果:
[0038]本专利技术技术方案提供的一种MySQL数据库中数据同步到SQL Server数据库中的方法和装置,方法包括以下步骤:查询MySQL数据库的系统表,从中获取待同步的数据;根据获取的数据建立SQL Server数据库能够识别的临时表;最后将临时表合并到SQL Server数据库的目标表中,完成将MySQL数据库中数据同步到SQL Server数据库。本申请方案通过建立临时表将MySQL数据库里的待同步数据转换为SQL Server数据库能够识别的数据格式,最终将临时表数据合并到SQL Server数据库中,解决了MySQL数据库和SQL Server数据库中数据类型不匹配,无法将MySQL数据库的数据直接同步到SQL Server数据库中的问题,能够快递的将MySQL数据库的数据同步SQL Server数据库中。
附图说明
[0039]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1是本专利技术实施例提供的一种MySQL数据库中数据同步到SQL Server数据库中的方法流程图;
[0041]图2是本专利技术实施例提供的一种MySQL数据库中数据同步到SQL Server数据库的示意图;
[0042]图3是本专利技术实施例提供的一种MySQL数据库中数据同步到SQL Server数据库中的装置结构图。
具体实施方式
[0043]为使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本专利技术的技术方案进行详细的描述说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
[0044]参照图1,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种MySQL数据库中数据同步到SQL Server数据库中的方法,其特征在于,包括以下步骤:查询MySQL数据库的系统表,所述系统表包含待同步的数据;根据所述系统表建立所述SQL Server数据库能够识别的临时表;将所述临时表的数据合并到所述SQL Server数据库的目标表中,以完成将MySQL数据库中数据同步到SQL Server数据库。2.根据权利要求1所述的方法,其特征在于:所述查询MySQL数据库的系统表包括:通过openquery链接并查询MySQL数据库的系统表获取待同步的数据。3.根据权利要求1所述的方法,其特征在于:所述根据所述系统表建立所述SQL Server数据库能够识别的临时表包括:获取所述系统表内待同步的数据的特征,所述特征包括列位置、列名、默认值、是否允许为空和数据类型;根据所述特征建立临时表。4.根据权利要求3所述的方法,其特征在于:所述根据所述特征建立临时表包括:通过列位置确定临时表存储字段的数量;通过是否允许为空定义临时表的字符串;将MySQL的数据的数据类型转换为SQL Server的数据类型后放入临时表。5.根据权利要求2所述的方法,其特征在于,还包括:获取MySQL数据库执行查询的日志,所述日志包括每次执行查询的开始时间、结束时间和报错信息;根据所述日志获取再次执行查询时需要查询数据的时间段。6.根据权利要求5所述的方法,其特征在于:所述根据所述日志获取再次执行查询时需要查询数据的时间段包括:获取上一次没有...

【专利技术属性】
技术研发人员:连守财杜康党国利乌兰梁强
申请(专利权)人:北京金和网络股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1