System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种数据库访问方法和装置。
技术介绍
1、当前存在各种类型的数据库,每种数据库都有不同的版本,当程序需要使用某些种类数据库做为数据源时,必须引入数据库厂家提供的指定版本的驱动才可以建立正确的连接。然而,同一程序不能同时支持所有种类、所有版本的数据库。这是因为相同或者异同数据库之间的驱动包可能存在冲突,同一程序无法同时支持有冲突的数据库。此外,当程序中需要引入的数据库驱动包很多时,大量的数据库驱动包可能影响主程序。
技术实现思路
1、本公开提供一种数据库访问方法和装置,以至少在一定程度上解决相关技术中的技术问题之一。本公开的技术方案如下:
2、根据本公开实施例的第一方面,提供一种数据库访问方法,包括:根据至少一种参考数据库的至少一个版本的数据库驱动包的业务应用场景,确定公共驱动包;其中,所述公共驱动包用于指示各所述数据库驱动包需要实现的公共业务功能;根据各所述数据库驱动包和所述公共驱动包,生成各所述数据库驱动包对应的定制化驱动包;其中,所述定制化驱动包包含对应数据库驱动的功能实现以及所述公共驱动包的功能实现;获取用于加载目标数据库对应的定制化驱动包的基础信息;根据所述基础信息,加载所述目标数据库对应的定制化驱动包,以访问所述目标数据库。
3、根据本公开实施例的第二方面,提供了一种数据库访问装置,包括:确定模块,用于根据至少一种参考数据库的至少一个版本的数据库驱动包的业务应用场景,确定公共驱动包;其中,所述公共驱动包用于指示各所述数据库
4、根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如本公开第一方面实施例所述的数据库访问方法。
5、根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本公开第一方面实施例所述的数据库访问方法。
6、根据本公开实施例的第五方面,提供一种计算机程序产品,包括:计算机程序,所述计算机程序被处理器执行时实现如本公开第一方面实施例所述的数据库访问方法。
7、本公开的实施例提供的技术方案至少带来以下有益效果:
8、在本技术方案中,根据至少一种参考数据库的至少一个版本的数据库驱动包的业务应用场景,确定公共驱动包,并根据各数据库驱动包和公共驱动包,生成各数据库驱动包对应的定制化驱动包,进而,获取用于加载目标数据库对应的定制化驱动包的基础信息,并根据基础信息,加载目标数据库对应的定制化驱动包,以访问目标数据库,由此,在访问数据库之前,根据各数据库驱动包的业务应用场景,确定公共驱动包,进而根据公共驱动包所指示的公共业务功能,为每种数据库的每个版本生成一个同时包含对应数据库驱动的功能实现和公共驱动包的功能实现的定制化驱动包,进而根据基础信息加载定制化驱动包进行数据库访问,不仅可使同一程序同时支持不同种类不同版本的数据库,还能将程序与数据库驱动包解耦,避免大量数据库驱动包影响主程序;其中,在生成定制化驱动包时,通过创建用于在依赖对应数据库驱动包的基础上实现公共驱动包所指示的公共业务功能的子模块,实现了将每一种类型数据库的每一个版本都独立成一个模块,模块内部在依赖对应数据库驱动包的基础上实现实际业务功能,从而可使定制化驱动包之间无依赖关系,不会相互冲突,同一程序能够同时支持不同种类不同版本的数据库,而且由于能够针对每个定制化驱动包进行单独管理和维护,有效提高了数据库管理和维护的简便性;另外,在加载定制化驱动包时,根据基础信息进行加载,实现了将程序与数据库驱动包解耦,避免大量数据库驱动包影响主程序,此外,采用自定义类加载器的方式加载定制化驱动包,既保证了不同定制化驱动包之间的隔离性,还能够根据实际需求动态加载数据源,提高数据库访问的灵活性。
9、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本文档来自技高网...【技术保护点】
1.一种数据库访问方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据各所述数据库驱动包和所述公共驱动包,生成各所述数据库驱动包对应的定制化驱动包,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述至少一个公共业务功能,创建各所述数据库驱动包对应的子模块,包括:
4.根据权利要求3所述的方法,其特征在于,所述针对所述至少一个公共业务功能中的任一业务功能,在所述目标类中确定所述业务功能对应的实现方法,包括:
5.根据权利要求2所述的方法,其特征在于,所述根据各所述数据库驱动包和各所述数据库驱动包对应的子模块,生成各所述数据库驱动包对应的定制化驱动包,包括:
6.根据权利要求5所述的方法,其特征在于,所述针对任一所述数据库驱动包,将所述数据库驱动包和所述数据库驱动包对应的子模块进行打包,以生成目标数据库驱动包,包括:
7.根据权利要求1所述的方法,其特征在于,所述获取用于加载目标数据库对应的定制化驱动包的基础信息,包括:
8.根据权利要求1所述的方法,其特征在于,所
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述根据各所述数据库驱动包和所述公共驱动包,生成各所述数据库驱动包对应的定制化驱动包之后,还包括:
10.一种数据库访问装置,其特征在于,包括:
...【技术特征摘要】
1.一种数据库访问方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据各所述数据库驱动包和所述公共驱动包,生成各所述数据库驱动包对应的定制化驱动包,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述至少一个公共业务功能,创建各所述数据库驱动包对应的子模块,包括:
4.根据权利要求3所述的方法,其特征在于,所述针对所述至少一个公共业务功能中的任一业务功能,在所述目标类中确定所述业务功能对应的实现方法,包括:
5.根据权利要求2所述的方法,其特征在于,所述根据各所述数据库驱动包和各所述数据库驱动包对应的子模块,生成各所述数据库驱动包对应的定制化驱动包,包括:
...【专利技术属性】
技术研发人员:涂岗,沈阳超,张钰,
申请(专利权)人:中电金信数字科技集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。