本发明专利技术公开了一种变动列数据导入数据库的方法,其具体实现过程为:首先识别数据源的列属性,分类设置数据源列和数据库列的对应规则和数据转换规则;进行数据导入,将变动列导入到数据库中,根据列对应规则确定数据存入数据库的哪列,根据数据转换规则确定数据存储的值;存储时,数据按块读取并保存,同时将出错信息记录下来,保存结束后一次提示,方便用户一次更正多个错误。本发明专利技术的一种变动列数据导入数据库的方法与现有技术相比,利用这种设置方法可以实现Excel等数据源的数据转换到数据库系统中,有效的节省数据录入人员的工作量和工作时间,实现复杂数据的快速有效导入业务系统,实用性强,适用范围广泛,具有很好的推广应用价值。
【技术实现步骤摘要】
本专利技术涉及通信信息
,具体地说是一种变动列数据导入数据库的方法。
技术介绍
随着信息系统应用的普及,很多用户数据需要导入到后台数据库中。客户为了填制方便会使用变动列方式填报数据。如某表格所示:前面两列为科目编号和科目名称,比如5011开发成本合计、5011-01土地征用及拆迁补偿款;后边每列为变动的多标题式的分类信息,比如超高层、高层住宅、小高层,其分出的多标题分别为金额、建筑单方、可售单方等。这样的信息如果导入信息系统,往往需要用户先整理成固定列的方式,这样做费时费力,还容易出错,特别是当数据行比较多的时候,工作量巨大。基于此,现提供一种变动列数据导入数据库的方法,旨在帮助解决从Excel等数据源的变动列数据转换到数据库系统中的问题。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种变动列数据导入数据库的方法。一种变动列数据导入数据库的方法,其实现过程为:首先识别数据源的列属性,分类设置数据源列和数据库列的对应规则和数据转换规则;进行数据导入,将变动列导入到数据库中,根据列对应规则确定数据存入数据库的哪列,根据数据转换规则确定数据存储的值;存储时,数据按块读取并保存,同时将出错信息记录下来,保存结束后一次提示,方便用户一次更正多个错误。在识别数据源的列属性步骤中,首先识别数据源,该数据源包括Excel数据源,其属性包括页签名称、数据开始行、数据结束行;然后识别列属性,该列属性包括页签名称、数据库表、数据库列、列类型、列标题、列序号,该数据库表是指数据库中对应的表,固定列为主表,变动列为子表,列类型包括变动列前的固定列、变动列、变动列后的固定列,列标题是指变动列后的固定列,列序号是指变动列前的固定列;然后设置数据源一个页签的列信息,该列信息包括列序号、标题格的编号、标题的名称。变动列前的固定列,用于设置列序号或列标题直接对应数据库的列,非变动列的数据导入仅设置固定列的列属性;该变动列前固定列在数据变动时,其列序号或列标题保持不变,且该固定列的每行数据在数据中存储的是一行数据;变动列是一个或多个列组合在一起的,一组变动列的一行数据对应着固定列的一行数据;变动列后的固定列在数据变动时,列序号发生改变,列标题保持不变;变动列前和变动列后的固定列存储到一个主表中,变动列明细标题的对应数据和非明细标题的变动内容存储到子表中。在数据导入前,需要设置数据导入对象:数据导入对象用来存储按列对应规则预整理后数据的数据结构,数据导入对象的属性包括:主对象、明细对象,其中,主对象用来存储变动列前固定列和变动列后固定列的信息,该信息包括:读取列序号、对应存储数据库表名、对应存储数据字段名、值转换规则属性;明细对象用来存储变动列信息,该信息包括:对应存储数据库表名、对应存储数据字段名、是否非明细标题、读取列序号、对应存储值、值转换规则;每一组变动列组成一个明细对象,一个主对象下有若干个明细对象,即有多组变动列。在进行数据导入前,数据导入对象对数据进行整理,其实现流程为:首先,读取下一条表列属性设置信息,然后进行是否变动列前固定列判断;进行变动列前固定列对象设置:如果判断为是变动列前固定列,则创建一个数据导入对象主对象,并设置读取列序号为列属性的列序号属性,然后进入读取下一条表列属性设置信息;进行变动列后固定列对象设置:如果判断为否变动列前固定列,则进入是否变动列判断;如果判断为非变动列,则创建新的主对象,并通过标题判断把变化后的列序号放入该主对象的读取列序号中,然后进入读取下一条表列属性设置信息;变动列中非明细标题对象设置:如果判断为是变动列,进入是否非明细标题判断,如果判断为非明细标题,则判断是否存在明细对象,如果判断为不存在明细对象,则创建明细对象,根据数据转换规则,把标题的值转换为数据库存储需要的值保存到明细对象;如果判断为存在明细对象,则取到对应明细对象,根据数据转换规则,把标题的值转换为数据库存储需要的值保存到明细对象;读取数据源表列设置,继续判断是否有当前表列特征的标题变动列,如果有则继续判断是否存在明细对象,如果没有,进入读取下一条表列属性设置信息;变动列中明细标题对象设置:如果判断是明细标题,则判断是否存在明细对象;如果判断为不存在明细对象,则创建明细对象,根据数据转换规则,把符合特征的列序号保存到明细对象的读取列序号属性中;如果判断为存在明细对象,则取到对应明细对象,根据数据转换规则,把符合特征的列序号保存到明细对象的读取列序号属性中;然后,读取数据源表列设置,继续判断是否有当前表列特征的标题变动列,如果有则继续判断是否存在明细对象操作,如果没有,进入读取下一条表列属性设置信息;读取下一条表列属性设置信息后,进行是否有下一条判断,如果有继续执行读取下一条表列属性设置信息,否则,结束数据导入对象整理流程,并获得数据导入对象。数据导入过程为:首先,读取数据源的一行记录,判断读取行的值是否全为空或者行号是指定读取的最后一行:如果是,则保存数据,结束流程;如果否,则进入行导入操作;主数据行信息导入,先创建主数据行,然后根据数据导入对象整理流程的主数据对象,循环每一个对象,把对应列的信息存储到创建的主数据行中;明细数据行信息导入,先判断数据导入对象中有没有下一个明细对象:如果有下一个明细对象,则创建明细数据行,明细数据行通过相应键和主数据行进行关联,然后获取明细对象中的变动列信息,读取当前数据行中的值,根据列值和数据字段的对应关系,设置明细行数据的值;如果设置完成,再进入判断数据导入对象中有没有下一个明细对象的步骤,取下一个明细对象进行操作;如果判断数据导入对象中没有下一个明细对象,则判断读取行数是否超过最大需存储行数:如果判断是,则保存数据,然后继续进行数据源行读取操作;如果判断否,继续进行数据源行读取操作。本专利技术的一种变动列数据导入数据库的方法和现有技术相比,具有以下有益效果:本专利技术的一种变动列数据导入数据库的方法,利用这种设置方法可以实现Excel等数据源的数据转换到数据库系统中,有效的节省数据录入人员的工作量和工作时间,实现复杂数据的快速有效导入业务系统,实用性强,适用范围广泛,具有很好的推广应用价值。附图说明附图1是本专利技术的数据导入对象整理执行示意图。附图2是本专利技术的数据导入流程执行示意图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步说明。如附图所示,本专利技术提供了一种变动列数据导入数据库的方法,同样也适用于非变动列数据导入的情况,旨在帮助信息系统快速实现从Excel等数据源的数据转换到数据库系统中,方便这些数据在信息系统中的整理和使用。该方法的主要特征在于识别Excel等数据源的列属性,分类设置列和数据库列的对应规则和数据转换规则;数据导入时,根据列对应规则确定数据存入数据库的哪列,根据数据转换规则确定数据存储的值;存储时,数据按块读取并保存,减少一次保存的数量,减少数据库的压力,出错信息记录下来,保存结束后一次提示,方便用户一次更正多个错误。利用这种设置方法可以实现Excel等数据源的数据转换到数据库系统中,有效的节省数据录入人员的工作量和工作时间,实现复杂数据的快速有效导入业务系统。在本专利技术中,首先识别Excel等数据源的列属性,分类设置列和数据库列的对应规则:变动列前本文档来自技高网...

【技术保护点】
一种变动列数据导入数据库的方法,其特征在于,其具体实现过程为:首先识别数据源的列属性,分类设置数据源列和数据库列的对应规则和数据转换规则;进行数据导入,将变动列导入到数据库中,根据列对应规则确定数据存入数据库的哪列,根据数据转换规则确定数据存储的值;存储时,数据按块读取并保存,同时将出错信息记录下来,保存结束后一次提示,方便用户一次更正多个错误。
【技术特征摘要】
1.一种变动列数据导入数据库的方法,其特征在于,其具体实现过程为:首先识别数据源的列属性,分类设置数据源列和数据库列的对应规则和数据转换规则;进行数据导入,将变动列导入到数据库中,根据列对应规则确定数据存入数据库的哪列,根据数据转换规则确定数据存储的值;存储时,数据按块读取并保存,同时将出错信息记录下来,保存结束后一次提示,方便用户一次更正多个错误。2.根据权利要求1所述的一种变动列数据导入数据库的方法,其特征在于,在识别数据源的列属性步骤中,首先识别数据源,该数据源包括Excel数据源,其属性包括页签名称、数据开始行、数据结束行;然后识别列属性,该列属性包括页签名称、数据库表、数据库列、列类型、列标题、列序号,该数据库表是指数据库中对应的表,固定列为主表,变动列为子表,列类型包括变动列前的固定列、变动列、变动列后的固定列,列标题是指变动列后的固定列,列序号是指变动列前的固定列;然后设置数据源一个页签的列信息,该列信息包括列序号、标题格的编号、标题的名称。3.根据权利要求2所述的一种变动列数据导入数据库的方法,其特征在于,变动列前的固定列,用于设置列序号或列标题直接对应数据库的列,非变动列的数据导入仅设置固定列的列属性;该变动列前固定列在数据变动时,其列序号或列标题保持不变,且该固定列的每行数据在数据中存储的是一行数据;变动列是一个或多个列组合在一起的,一组变动列的一行数据对应着固定列的一行数据;变动列后的固定列在数据变动时,列序号发生改变,列标题保持不变;变动列前和变动列后的固定列存储到一个主表中,变动列明细标题的对应数据和非明细标题的变动内容存储到子表中。4.根据权利要求2所述的一种变动列数据导入数据库的方法,其特征在于,在数据导入前,需要设置数据导入对象:数据导入对象用来存储按列对应规则预整理后数据的数据结构,数据导入对象的属性包括:主对象、明细对象,其中,主对象用来存储变动列前固定列和变动列后固定列的信息,该信息包括:读取列序号、对应存储数据库表名、对应存储数据字段名、值转换规则属性;明细对象用来存储变动列信息,该信息包括:对应存储数据库表名、对应存储数据字段名、是否非明细标题、读取列序号、对应存储值、值转换规则;每一组变动列组成一个明细对象,一个主对象下有若干个明细对象,即有多组变动列。5.根据权利要求4所述的一种变动列数据导入数据库的方法,其特征在于,在进行数据导入前,数据导入对象对数据进行整理,其实现流程为:首先,读取下一条表列属性设置信息,然后进行是否变动列前固定列判断;进行变动列前固定列对象设置:如果判断为是变动列前固定列,则创建一个数据导入对象主对象,...
【专利技术属性】
技术研发人员:李洪营,薛军利,聂明,李焕伟,李伟,杨帅,邵长恩,胡灵祎,薛鹏,陶述斌,
申请(专利权)人:济南浪潮高新科技投资发展有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。