System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机和金融科技,更具体地涉及一种数据库操作方法、装置、设备、介质和程序产品。
技术介绍
1、在数据库迁移过程中,需要将源数据库中的数据表及存储过程等数据迁移到目标数据库中。在通常情况下,由于不同数据库系统的语法及功能不同,因此在进行数据库迁移的过程中,需要根据目标数据库的语法及功能,对源数据库中的数据表及存储过程进行改造。
2、但是,由于数据表和存储过程的数据量大,因此上述方式实现数据迁移的迁移成本高、工作量大并且效率低。
技术实现思路
1、鉴于上述问题,本公开提供了一种数据库操作方法、装置、设备、介质和程序产品。
2、根据本公开的第一个方面,提供了一种数据库操作方法,包括:响应于接收到用于操作数据库的指令,根据上述指令,获取目标存储过程信息,其中,上述目标存储过程信息包括对上述数据库进行操作的目标存储过程的信息;根据上述目标存储过程信息,确定目标执行方法;根据上述目标执行方法,生成结构化查询语句;以及将上述结构化查询语句发送至上述数据库。
3、根据本公开的实施例,上述目标存储过程信息包括上述目标存储过程的存储过程包名、存储过程名和输入参数;上述根据上述目标存储过程信息,确定上述数据库待执行的目标执行方法,包括:根据上述存储过程包名,获取与上述目标存储过程关联的存储对象;以及根据上述存储对象、上述存储过程名和上述输入参数,确定用于调用所述数据库执行目标操作的目标执行方法,其中,上述目标操作包括对目标数据库表的增加、删除、修改或查询操作
4、根据本公开的实施例,上述根据上述存储过程包名,获取与上述目标存储过程关联的存储对象包括:将上述存储过程包名作为目标对象名,从应用侧执行框架的容器中,确定与上述目标对象名一致的存储对象。
5、根据本公开的实施例,上述根据上述存储对象、上述存储过程名和上述输入参数,确定用于调用上述数据库执行目标操作的目标执行方法,包括:确定基于上述存储对象的至少一个执行方法;以及基于反射的方法,根据上述存储过程名和上述输入参数,从上述至少一个执行方法中确定目标执行方法。
6、根据本公开的实施例,上述根据上述目标执行方法,生成结构化查询语句,包括:基于对象转换层的持久层框架,将基于上述存储对象的目标执行方法转换为与上述目标操作对应的结构化查询语句。
7、根据本公开的实施例,上述方法还包括:在根据上述目标执行方法,生成结构化查询语句之前,开启目标事务;基于上述目标事务,检测从生成上述结构化查询语句、到将上述结构化查询语句发送至上述数据库的过程中,应用侧执行框架所发生的异常;以及在检测到上述应用侧执行框架发生异常的情况下,进行回滚操作。
8、根据本公开的实施例,上述在根据上述目标操作,生成结构化查询语句之前,开启目标事务,包括:基于上述应用侧执行框架的注解信息,开启目标事务;或者,通过用户与上述应用侧执行框架的交互操作,开启上述目标事务。
9、本公开的第二方面提供了一种数据库操作装置,包括:获取模块,用于响应于接收到用于操作数据库的指令,根据上述指令,获取目标存储过程信息,其中,上述目标存储过程信息包括对上述数据库进行操作的目标存储过程的信息;确定模块,用于根据上述目标存储过程信息,确定目标执行方法,其中,上述目标执行方法用于调用上述数据库执行目标操作;生成模块,用于根据上述目标执行方法,生成结构化查询语句;以及发送模块,用于将上述结构化查询语句发送至上述数据库。
10、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得一个或多个处理器执行上述数据库操作方法。
11、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述数据库操作方法。
12、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据库操作方法。
13、根据本公开的实施例,通过提取需要在数据库实现的存储过程逻辑,在应用侧得到与存储过程逻辑相同的目标操作,并将其转化为结构化查询语句后发送至数据库,由此实现对数据库的直接交互,无需依赖存储过程。因此,在进行数据库迁移时,无需对大量存储过程进行改造,降低了数据库迁移成本,提高了数据库迁移效率。
本文档来自技高网...【技术保护点】
1.一种数据库操作方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标存储过程信息包括所述目标存储过程的存储过程包名、存储过程名和输入参数;所述根据所述目标存储过程信息,确定目标执行方法,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述存储过程包名,获取与所述目标存储过程关联的存储对象包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述存储对象、所述存储过程名和所述输入参数,确定用于调用所述数据库执行目标操作的目标执行方法,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标执行方法,生成结构化查询语句,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述在根据所述目标操作,生成结构化查询语句之前,开启目标事务,包括:
8.一种数据库操作装置,其特征在于,所述装置包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,其上存储有计算机程
11.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现根据权利要求1~7中任一项所述方法的步骤。
...【技术特征摘要】
1.一种数据库操作方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标存储过程信息包括所述目标存储过程的存储过程包名、存储过程名和输入参数;所述根据所述目标存储过程信息,确定目标执行方法,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述存储过程包名,获取与所述目标存储过程关联的存储对象包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述存储对象、所述存储过程名和所述输入参数,确定用于调用所述数据库执行目标操作的目标执行方法,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标执行方法,生成结构化查询语句...
【专利技术属性】
技术研发人员:张时雨,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。