CN108647300B - 数据库访问中间系统、方法、设备及存储介质 - Google Patents

数据库访问中间系统、方法、设备及存储介质 Download PDF

Info

Publication number
CN108647300B
CN108647300B CN201810435895.XA CN201810435895A CN108647300B CN 108647300 B CN108647300 B CN 108647300B CN 201810435895 A CN201810435895 A CN 201810435895A CN 108647300 B CN108647300 B CN 108647300B
Authority
CN
China
Prior art keywords
database
sql statement
sql
module
database access
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.)
Active
Application number
CN201810435895.XA
Other languages
English (en)
Other versions
CN108647300A (zh
Inventor
李艳秋
赵冷奇
陈奎
周才菊
陈凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ctrip Travel Information Technology Shanghai Co Ltd
Original Assignee
Ctrip Travel Information Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ctrip Travel Information Technology Shanghai Co Ltd filed Critical Ctrip Travel Information Technology Shanghai Co Ltd
Priority to CN201810435895.XA priority Critical patent/CN108647300B/zh
Publication of CN108647300A publication Critical patent/CN108647300A/zh
Application granted granted Critical
Publication of CN108647300B publication Critical patent/CN108647300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种数据库访问中间系统、方法、设备及存储介质,该系统包括配置模块,用于配置用于访问数据库的SQL语句;存储模块,用于存储配置好的用于访问数据库的SQL语句;调用接口,用于与应用程序进行数据交互;执行模块,用于通过所述调用接口获取应用程序的数据库访问请求,根据所述数据库访问请求调用对应的SQL语句访问数据库,并将数据库的执行数据通过所述调用接口返回至所述应用程序。通过采用本发明的方案,将连接串及SQL语句从源代码中抽离出来,进行了统一管理、自动审核,从而完全避免了应用程序的因为查询逻辑变更而重新启动,以及因为SQL语句书写不规范而产生的系统性能问题。

Description

数据库访问中间系统、方法、设备及存储介质
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库访问中间系统、方法、设备及存储介质。
背景技术
现有技术中,在开发应用程序时,一般使用诸如JDBC,odbc等方式获取DB(Database,数据库)连接,并直接在源代码中书写SQL(Structured Query Language,结构类查询语言)语句来实现应用程序对数据库的增删改查。其中,JDBC(Java DataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。ODBC(Open DatabaseConnectivity,开放数据库连接)是为解决异构数据库间的数据共享而产生的数据库连接方式。
然而采用现有技术中存在有一些技术问题:当在源码中写入SQL语句,每当应用程序的维护更新需要修改SQL语句时都需要关闭应用程序,才可以实现更新源码版本。另外也会因为SQL语句的质量问题,影响数据库的存取效率。虽然当前已经出现了一些新的框架,例如:hibernate,mybatis等,也没能解决上面的两种问题。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种数据库访问中间系统、方法、设备及存储介质,解决了因为查询的逻辑变更而引起的应用重新启动的问题。同时也解决了SQL语句的书写质量问题。
本发明实施例提供一种数据库访问中间系统,用于实现应用程序对数据库的访问,所述系统包括如下步骤:
配置模块,用于配置用于访问数据库的SQL语句;
存储模块,用于存储配置好的用于访问数据库的SQL语句;
调用接口,用于与应用程序进行数据交互;
执行模块,用于通过所述调用接口获取应用程序的数据库访问请求,根据所述数据库访问请求调用对应的SQL语句访问数据库,并将数据库的执行数据通过所述调用接口返回至所述应用程序。
可选地,所述数据库访问中间系统还包括:
审核模块,用于对配置的用于访问数据库的SQL语句进行语句审核。
可选地,所述审核模块包括:
数据库连接串有效性审核单元,用于判断数据库连接串是否可以成功连通至所述数据库;
SQL语句有效性审核单元,用于判断SQL语句是否能够被数据库成功执行;
SQL语句严禁内容审核单元,用于判断SQL语句中是否存在预设的禁止出现的错误。
可选地,所述SQL语句严禁内容审核单元用于针对SQL服务器数据库的查询语句进行nolock验证;针对包括in的SQL语句验证in的参数小于预设数量;针对包括join的SQL语句验证join的数量小于预设数量;针对包括select的SQL语句验证不包括select*。
可选地,所述审核模块用于将配置的用于访问数据库的SQL语句推送至用户,并获取用户返回的审核结果。
可选地,所述配置模块中配置多个SQL语句组合,每个SQL语句组合包括至少一SQL语句,每个SQL语句组合对应访问一数据库;
所述配置模块用于配置每个SQL语句组合的名称、查询类型、对应的数据库类型、数据库连接URL以及该SQL语句组合包括的各个SQL语句。
可选地,所述配置模块还用于配置每个SQL语句组合对应的数据库的数据库用户名和用户密码。
可选地,所述配置模块还用于配置每个SQL语句组合中各条SQL语句的执行顺序。
可选地,所述执行模块用于根据所述数据库访问请求调用对应的SQL语句组合,并根据各条SQL语句的执行顺序,依次执行该调用的SQL语句组合中的各条SQL语句。
可选地,所述配置模块还用于配置每个SQL语句组合的访问地址;
所述执行模块通过所述调用接口获取到应用程序的数据库访问请求时,从所述数据库访问请求中解析得到调用的SQL语句组合的访问地址,根据该访问地址调用对应的SQL语句组合。
本发明实施例还提供一种数据库访问方法,采用所述的数据库访问中间系统,所述方法包括如下步骤:
所述配置模块配置用于访问数据库的SQL语句;
所述存储模块存储配置好的用于访问数据库的SQL语句;
所述执行模块通过所述调用接口获取应用程序的数据库访问请求,并根据所述数据库访问请求调用对应的SQL语句访问数据库;
所述执行模块获取所述数据库的执行数据,并通过所述调用接口返回至所述应用程序。
可选地,所述系统还包括审核模块,所述配置模块配置用于访问数据库的SQL语句之后,还包括如下步骤:
所述审核模块对配置的用于访问数据库的SQL语句进行语句审核;
所述存储模块存储所述审核模块审核通过的用于访问数据库的SQL语句。
本发明实施例还提供一种数据库访问中间设备,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的数据库访问方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被计算机执行时实现所述的数据库访问方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本发明所提供的数据库访问中间系统、方法、设备及存储介质具有下列优点:
本发明将连接串及SQL语句从源代码中抽离出来,进行了统一管理和自动审核,从而完全避免了应用程序的因为查询(增删改查)逻辑变更而重新启动,以及因为SQL语句书写不规范而产生的系统性能问题。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的数据库访问中间系统的结构示意图;
图2是本发明一实施例的数据库访问方法的流程图;
图3是本发明一实施例的配置模块的配置页面的示意图;
图4是本发明一实施例的数据库访问中间设备的示意图;
图5是本发明一实施例的计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本发明要解决的问题在于,第一:因为查询(增删改查)逻辑变更而修改应用程序源码重新启动旧版本应用的问题;第二:由于SQL语句编写的不规范而引起的性能问题。
如图1所示,为了解决上述技术问题,本发明实施例提供一种数据库访问中间系统,用于实现应用程序对数据库的访问,包括:
配置模块100,用于配置用于访问数据库的SQL语句;
存储模块200,用于存储配置好的用于访问数据库的SQL语句;
调用接口300,用于与应用程序进行数据交互;
执行模块400,用于通过所述调用接口获取应用程序的数据库访问请求,根据所述数据库访问请求调用对应的SQL语句访问数据库,并将数据库的执行数据通过所述调用接口返回至所述应用程序。
进一步地,在该实施例中,所述数据库访问中间系统还包括:
审核模块500,用于对配置的用于访问数据库的SQL语句进行语句审核。
本发明采用统一管理和自动审核的方式将数据库连接串和SQL语句集中在系统中,并提供相应的API接口提供应用程序做调用。统一管理方便了数据库连接串和SQL语句的可配置性,修改配置不影响正在运行的应用程序。自动审核是将SQL语句抛入审核模块做SQL语句审核,审核通过之后才可以存储到存储模块,并可以通过接口调用。
如图2所示,本发明实施例还提供一种数据库访问方法,采用所述的数据库访问中间系统,所述方法包括如下步骤:
S100:所述配置模块配置用于访问数据库的SQL语句;
S200:所述存储模块存储配置好的用于访问数据库的SQL语句;
S300:所述执行模块通过所述调用接口获取应用程序的数据库访问请求,并根据所述数据库访问请求调用对应的SQL语句访问数据库;
S400:所述执行模块获取所述数据库的执行数据,并通过所述调用接口返回至所述应用程序。
进一步地,在该实施例中,所述系统还包括审核模块,所述配置模块配置用于访问数据库的SQL语句之后,还包括如下步骤:
所述审核模块对配置的用于访问数据库的SQL语句进行语句审核;
所述存储模块存储所述审核模块审核通过的用于访问数据库的SQL语句。即审核通过之后才可以存储到存储模块,并可以通过接口调用。
在该实施例中,所述审核模块可以包括:
数据库连接串有效性审核单元,用于判断数据库连接串是否可以成功连通至所述数据库;
SQL语句有效性审核单元,用于判断SQL语句是否能够被数据库成功执行;
SQL语句严禁内容审核单元,用于判断SQL语句中是否存在预设的禁止出现的错误。
所述SQL语句严禁内容审核单元用于针对SQL服务器数据库的查询语句进行nolock验证;针对包括in的SQL语句验证in的参数小于预设数量;针对包括join的SQL语句验证join的数量小于预设数量;针对包括select的SQL语句验证不包括select*。
具体地,例如,在一个具体实施例中,Sql语句审核通过审核模块自动完成,出现违规行为时提示报错,经用户修改后可以再次自动恩和。
审核模块主要是针对如下几个方面进行审核:
(1)数据库连接串的有效性,是否可以连通。
(2)执行语句的有效性,是否存在SQL语法错误,能否被数据库执行。
(3)执行语句的严禁内容,比如:
a.针对sqlserver数据库的查询语句做nolock验证;
在执行SQL语句时,在语法中加一段nolock可以改善在线大量查询的环境中数据集被锁定的现象,并藉此改善查询的效能。不过需要注意的是,nolock的SQL SELECT有可能会造成Dirty Read,就是读到无效的数据。因此,对查询语句进行nolock验证十分有必要。
b.针对包含in的语句验证in的参数小于100个;
c.针对包含join的语句,join小于5个;
d.select语句中不能包含select*;等几种情况,这几种情况通常是影响数据库性能的主要核心原因。
自动审核的过程可以包括:
确定目标SQL语句;
分别对所述目标SQL语句进行语法和语义分析,按照预设的语法规则对所述目标SQL语句进行语法分析,语法规则可以采用如上第(3)部分执行语句的严禁内容检查;
如果所述目标SQL语句不满足所述预设的语法规则,则说明语法审核未通过,报错;
如果语法规则审核通过,则对所述目标SQL语句进行语义分析,即判断目标SQL语句是否能够实现目标设定的功能,若所述目标SQL语句不满足预设的语义分析规则,则报错,如果符合预设的语义分析规则,则审核通过。
进一步地,所述审核模块也可以增加手动审核的功能,即所述审核模块用于将配置的用于访问数据库的SQL语句推送至用户,由用户手动进行SQL语句审核,并通过审核模块获取用户返回的审核结果。手动审核可以适应于更多种不同的情况,但是容易加重工程师的负担,无法实现全面自动化流程。因此,在本发明中,审核模块优选适用于自动审核。
如图3所示,为本发明一实施例的配置模块的配置界面示意图。
在该实施例中,所述配置模块中配置多个SQL语句组合,每个SQL语句组合包括至少一SQL语句,每个SQL语句组合对应访问一数据库。每个SQL语句组合可以实现一个特定的访问数据库的功能。所有已经配置完成的SQL语句组合会加入到基础列表中,可以后续进行修改和维护,在新建SQL语句组合时,可以通过基础添加,来添加新的SQL语句组合。
所述配置模块用于配置每个SQL语句组合的名称、查询类型、对应的数据库类型、数据库连接URL以及该SQL语句组合包括的各个SQL语句。
进一步地,在该实施例中,所述配置模块还用于配置每个SQL语句组合对应的数据库的数据库用户名和用户密码,执行模块在访问具体的数据库时,可以直接采用该数据库用户名和用户密码访问对应的数据库,并且可以在用户名或用户密码发生变更时十分方便地进行修改。
进一步地,所述配置模块还用于配置每个SQL语句组合中各条SQL语句的执行顺序。在配置有各条SQL语句的执行顺序后,所述执行模块可以根据所述数据库访问请求调用对应的SQL语句组合,并根据各条SQL语句的执行顺序,依次执行该调用的SQL语句组合中的各条SQL语句。
进一步地,所述配置模块还用于配置每个SQL语句组合的访问地址。所述执行模块通过所述调用接口获取到应用程序的数据库访问请求时,从所述数据库访问请求中解析得到调用的SQL语句组合的访问地址,根据该访问地址调用对应的SQL语句组合。
例如,为每个SQL语句组合设置一个ip地址,所述数据库访问请求中包括有准备调用的SQL语句组合的ip地址,访问模块可以直接根据该ip地址调用对应的SQL语句组合。
本发明实施例还提供一种数据库访问中间设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的数据库访问方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图4来描述根据本发明的这种实施方式的电子设备600。图4显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,电子设备600以通用计算设备的形式表现。电子设备600的组合可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组合(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
如上所述,通过采用发明的数据库访问中间设备,采用统一管理和自动审核的方式将数据库连接串和SQL语句集中在系统中,并提供相应的API接口提供应用程序做调用。统一管理方便了数据库连接串和SQL语句的可配置性,修改配置不影响正在运行的应用程序。自动审核是将SQL语句抛入审核模块做SQL语句审核,审核通过之后才可以存储到存储模块,并可以通过接口调用。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被计算机执行时实现所述的数据库访问方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图5所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
同样地,当采用本发明的计算机可读存储介质时,通过采用统一管理和自动审核的方式将数据库连接串和SQL语句集中在系统中,并提供相应的API接口提供应用程序做调用。统一管理方便了数据库连接串和SQL语句的可配置性,修改配置不影响正在运行的应用程序。自动审核是将SQL语句抛入审核模块做SQL语句审核,审核通过之后才可以存储到存储模块,并可以通过接口调用。
综上所述,与现有技术相比,本发明所提供的数据库访问中间系统、方法、设备及存储介质具有下列优点:
本发明将连接串及SQL语句从源代码中抽离出来,进行了统一管理和自动审核,从而完全避免了应用程序的因为查询(增删改查)逻辑变更而重新启动,以及因为SQL语句书写不规范而产生的系统性能问题。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (11)

1.一种数据库访问中间系统,其特征在于,用于实现应用程序对数据库的访问,所述系统包括:
配置模块,用于配置用于访问数据库的SQL语句;
存储模块,用于存储配置好的用于访问数据库的SQL语句;
调用接口,用于与应用程序进行数据交互;
执行模块,用于通过所述调用接口获取应用程序的数据库访问请求,根据所述数据库访问请求调用对应的SQL语句访问数据库,并将数据库的执行数据通过所述调用接口返回至所述应用程序;
所述配置模块中配置多个SQL语句组合,每个SQL语句组合包括至少一SQL语句,每个SQL语句组合对应访问一数据库;
所述配置模块用于配置每个SQL语句组合的名称、查询类型、对应的数据库类型、数据库连接URL以及该SQL语句组合包括的各个SQL语句;
所述配置模块还用于配置每个SQL语句组合中各条SQL语句的执行顺序;所述执行模块用于根据所述数据库访问请求调用对应的SQL语句组合,并根据各条SQL语句的执行顺序,依次执行该调用的SQL语句组合中的各条SQL语句。
2.根据权利要求1所述的数据库访问中间系统,其特征在于,还包括:
审核模块,用于对配置的用于访问数据库的SQL语句进行语句审核。
3.根据权利要求2所述的数据库访问中间系统,其特征在于,所述审核模块包括:
数据库连接串有效性审核单元,用于判断数据库连接串是否可以成功连通至所述数据库;
SQL语句有效性审核单元,用于判断SQL语句是否能够被数据库成功执行;
SQL语句严禁内容审核单元,用于判断SQL语句中是否存在预设的禁止出现的错误。
4.根据权利要求3所述的数据库访问中间系统,其特征在于,所述SQL语句严禁内容审核单元用于针对SQL服务器数据库的查询语句进行nolock验证;针对包括in的SQL语句验证in的参数小于预设数量;针对包括join的SQL语句验证join的数量小于预设数量;针对包括select的SQL语句验证不包括select*。
5.根据权利要求2所述的数据库访问中间系统,其特征在于,所述审核模块用于将配置的用于访问数据库的SQL语句推送至用户,并获取用户返回的审核结果。
6.根据权利要求1所述的数据库访问中间系统,其特征在于,所述配置模块还用于配置每个SQL语句组合对应的数据库的数据库用户名和用户密码。
7.根据权利要求1所述的数据库访问中间系统,其特征在于,所述配置模块还用于配置每个SQL语句组合的访问地址;
所述执行模块通过所述调用接口获取到应用程序的数据库访问请求时,从所述数据库访问请求中解析得到调用的SQL语句组合的访问地址,根据该访问地址调用对应的SQL语句组合。
8.一种数据库访问方法,其特征在于,采用权利要求1至7中任一项所述的数据库访问中间系统,所述方法包括如下步骤:
所述配置模块配置用于访问数据库的SQL语句;
所述存储模块存储配置好的用于访问数据库的SQL语句;
所述执行模块通过所述调用接口获取应用程序的数据库访问请求,并根据所述数据库访问请求调用对应的SQL语句访问数据库;
所述执行模块获取所述数据库的执行数据,并通过所述调用接口返回至所述应用程序。
9.根据权利要求8所述的数据库访问方法,其特征在于,所述系统还包括审核模块,所述配置模块配置用于访问数据库的SQL语句之后,还包括如下步骤:
所述审核模块对配置的用于访问数据库的SQL语句进行语句审核;
所述存储模块存储所述审核模块审核通过的用于访问数据库的SQL语句。
10.一种数据库访问中间设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求8所述的数据库访问方法的步骤。
11.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被计算机执行时实现权利要求8所述的数据库访问方法的步骤。
CN201810435895.XA 2018-05-09 2018-05-09 数据库访问中间系统、方法、设备及存储介质 Active CN108647300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810435895.XA CN108647300B (zh) 2018-05-09 2018-05-09 数据库访问中间系统、方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810435895.XA CN108647300B (zh) 2018-05-09 2018-05-09 数据库访问中间系统、方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN108647300A CN108647300A (zh) 2018-10-12
CN108647300B true CN108647300B (zh) 2020-12-15

Family

ID=63749630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810435895.XA Active CN108647300B (zh) 2018-05-09 2018-05-09 数据库访问中间系统、方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN108647300B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984666B (zh) * 2019-05-23 2024-03-29 北京数聚鑫云信息技术有限公司 数据库访问方法、装置、计算机可读存储介质和计算机设备
CN110795485A (zh) * 2019-10-29 2020-02-14 杭州求是优脉科技有限公司 一种数据库访问方法、装置及设备
CN111949693B (zh) * 2020-08-12 2024-03-01 北京锐安科技有限公司 一种数据处理装置、数据处理方法、存储介质及电子设备
CN112486880B (zh) * 2020-12-17 2024-02-20 北京北信源软件股份有限公司 基于数据库存取接口的usb存储装置
CN113127520B (zh) * 2021-05-11 2023-07-21 中国电信股份有限公司江西分公司 一种基于代理模式的分布式数据库sql审核拦截方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082928A (zh) * 2007-06-25 2007-12-05 腾讯科技(深圳)有限公司 一种数据库访问的方法及数据库映射系统
CN107122365A (zh) * 2016-02-25 2017-09-01 阿里巴巴集团控股有限公司 异构数据库的访问方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8447768B2 (en) * 2010-01-29 2013-05-21 Novell, Inc. Techniques for generically accessing data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082928A (zh) * 2007-06-25 2007-12-05 腾讯科技(深圳)有限公司 一种数据库访问的方法及数据库映射系统
CN107122365A (zh) * 2016-02-25 2017-09-01 阿里巴巴集团控股有限公司 异构数据库的访问方法及装置

Also Published As

Publication number Publication date
CN108647300A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
CN108647300B (zh) 数据库访问中间系统、方法、设备及存储介质
US10866791B2 (en) Transforming non-Apex code to Apex code
US9529662B1 (en) Dynamic rule-based automatic crash dump analyzer
US8380645B2 (en) Method and system to enable inferencing for natural language queries of configuration management databases
US9122540B2 (en) Transformation of computer programs and eliminating errors
US11334474B2 (en) Fast change impact analysis tool for large-scale software systems
US9311077B2 (en) Identification of code changes using language syntax and changeset data
CN107766353B (zh) 一种数据库统计信息迁移的方法和设备
US11144437B2 (en) Pre-populating continuous delivery test cases
WO2023040056A1 (zh) 基于多解析器的异构数据源操作资源解析定位方法和设备
US11204746B2 (en) Encoding dependencies in call graphs
US9569335B1 (en) Exploiting software compiler outputs for release-independent remote code vulnerability analysis
US11620179B1 (en) Method, apparatus, device, storage medium and program product for log information processing
US10839124B1 (en) Interactive compilation of software to a hardware language to satisfy formal verification constraints
CN112445775A (zh) 一种光刻机的故障分析方法、装置、设备和存储介质
US11119907B1 (en) Techniques for tracking and testing code modifications using semantic catalogue
US20240078171A1 (en) Techniques for model artifact validation
US10831473B2 (en) Locating business rules in application source code
CN113127460B (zh) 数据清洗框架的评估方法及其装置、设备及存储介质
US11055285B2 (en) Access path optimization
US11568060B2 (en) Modular taint analysis with access paths
US10719424B1 (en) Compositional string analysis
CN114764558A (zh) 一种sql方言转换方法、装置、系统及存储介质
US11360764B2 (en) Adversarial language analysis for code scanning
US20230065616A1 (en) Techniques for schema drift detection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant