CN111694846B - 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法 - Google Patents
一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法 Download PDFInfo
- Publication number
- CN111694846B CN111694846B CN202010499204.XA CN202010499204A CN111694846B CN 111694846 B CN111694846 B CN 111694846B CN 202010499204 A CN202010499204 A CN 202010499204A CN 111694846 B CN111694846 B CN 111694846B
- Authority
- CN
- China
- Prior art keywords
- spsql
- storage process
- processing
- udr
- spj
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 230000008569 process Effects 0.000 title claims abstract description 50
- 238000000926 separation method Methods 0.000 title claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 26
- 230000014509 gene expression Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 3
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2443—Stored procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法,包括如下步骤:1)数据库通过JDBC T4接收客户端的请求,数据库通过执行器将存储过程封装成SPJ发送到UDR Server;2)UDR Server对SPJ进行解析,再通过JDBC T2接口来访问数据库的执行器,执行存储过程中的SQL语句。本发明使用Type 2的JDBC驱动结合UDR服务器实现分布式数据库的存储过程功能,在分离存储过程的执行和SQL执行的同时避免额外的网络通信,减少对存储过程执行性能的影响。
Description
技术领域
本发明属于分布式关系型数据库技术领域,涉及到其中的存储过程语言在分布式数据库中的实现方法,尤其是涉及一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法。
背景技术
存储过程(store procedure)是传统关系型数据库系统的重要功能,也是ISO SQL标准的重要组成部分(SQL/PSM)。SQL/PSM最早在1996年作为SQL-92的一个扩展(ISO/IEC9075-4:1996)。并且从1999年的SQL:1999标准开始合并到标准之中,作为标准的第四部分。
存储过程定义了一种SQL过程编程语言,主要功能包括控制流程、异常/条件处理、变量声明和赋值、表达式计算和游标等。传统的数据库系统基本都实现了对存储过程的支持,比如Oracle的PL/SQL,DB2的SQL PL,MySQL的存储过程和PostgreSQL的plpgsql等。其中Oracle的PL/SQL是最早和最流行的存储过程语言,其语法基于ADA编程语言。其他的存储过程语言也都受到PL/SQL语言的影响,也都采取类似的语法。包括SQL/PSM标准的语法也基于ADA语言。虽然标准和多数传统数据库都采用类似的语法,但是他们在具体的语法特性和功能上都存在一些区别。
随着大数据时代的到来,传统数据库技术和产品已经不能满足大数据环境下对数据的处理能力、可扩展性和可靠性等方面的要求。以谷歌为代表的互联网企业在21世纪初开启了以可扩展性、可靠性为核心的NoSQL的技术方向。使用基于键-值对的数据模型替代传统的关系型数据库模型,使用简单的API接口替代复杂的SQL结构化查询语言。在谷歌公布其相关的技术论文后,相应的开源软件也随后开始开发对应的开源软件,其中Hadoop和HBase就是开源NoSQL大数据处理的领导者。
NoSQL经过10多年的发展后也日益暴露出接口过于简单带来的各种问题。数据处理中的很多问题从数据库转移到了应用端,造成应用端不得不重复的处理各种原本应该由数据库来处理的问题,比如基于键-值的数据库不支持数据模型,无法描述数据的内部格式和数据类型,需要应用程序来解析和处理数据的数据模型。NoSQL的API接口不支持复杂的查询方式,也需要应用来处理复杂的查询过程。另外还有事务处理,NoSQL数据库通常不支持事务,或只支持单行数据修改的事务性,这也使得应用程序需要处理复杂的多行、多表、多节点事务。这些问题为应用开发和移植都带来了巨大的问题。
为了解决NoSQL的这些问题,同时又能过保留NoSQL的性能和可扩展性优势,于是就出现了键-值存储技术和SQL结构化查询语句相结合的NewSQL技术。目前的NewSQL技术是在键-值存储技术的基础上加上SQL的特性来实现的,但是目前对SQL语言的支持都不完整,尤其是对存储过程的支持,目前其他基于NewSQL技术的分布式数据库都没有对存储过程语言的完整支持。比如Spanner、CockroachDB和TiDB都不支持存储过程功能,OceanBase也只支持最基本的存储过程功能,距离完整的存储过程支持还有很大的距离。
现有的存储过程语言实现方式都是基于传统的过程语言实现机制,通常存储过程语言的处理和普通SQL处理类似,也是分为两个阶段,一个是编译阶段,一个是执行阶段,在编译阶段所有的语句经过词法解析、语法解析,然后生成指令;在执行阶段则通常基于堆栈的状态机的方式来执行编译生成的指令。这种实现方式的缺点是存储过程的执行和SQL语句的执行在同一个执行环境中,容易导致相互影响;特别是由于存储过程中包含用户或应用编写的逻辑,因此其中很可能存在错误或不严谨的地方。如果其中包括任何问题,比如占用大量内存或消耗大量CPU,就会导致数据库的基本SQL运行也受到影响甚至导致整个数据库系统崩溃,影响到其他数据库用户和应用的运行。
发明内容
有鉴于此,本发明旨在提出一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法,以避免存储过程执行过程中产生的问题对SQL执行的影响。
本发明的核心思想是:第一个是使用分离的UDR服务器进程来运行存储过程,避免存储过程的执行影响数据库本身的运行;第二个是在存储过程中使用Type 2 JDBC接口来运行SQL语句。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法,包括如下步骤:
1)数据库通过JDBC T4接收客户端的请求,数据库通过执行器将存储过程封装成SPJ发送到UDR Server;
2)UDR Server对SPJ进行解析,再通过JDBC T2接口来访问数据库的执行器,执行存储过程中的SQL语句;其中,
所述UDR Sever是一个独立的用于运行用户自定义过程的服务进程。
进一步的,UDR Server收到SPJ后,调用SPSQL Java Library中定义的callSPSQL函数,callSPSQL函数根据调用参数中的存储过程名字从EsgynDB的元数据中查找并加载对应的SPSQL代码,然后调用SPSQL的解析器对SPSQL代码进行解析并生成语法树,解析结束后启动执行器根据生成的语法树执行解析后的代码。
进一步的,所述SPSQL Java Library主要包括如下模块:
解析器,用于解析数据库语言,生成语法树,解析器是基于ANTLR解析器实现的;
执行器,用于根据语法树执行其中的语句,执行器的基于ANTLR的访问者模式实现的;
变量和作用域,用于处理变量声明、赋值和变量的作用域;
表达式,用于处理各种表达式的计算处理;
语句处理,用于执行非查询类的语句;
查询处理,用于处理SELECT查询语句;
游标,用于处理游标的打开、获取数据和关闭;
包,用于处理包的定义和执行;
信号,用于异常处理和条件处理;
内置函数,用于定义内置的字符、日期时间,以及兼容性函数。
相对于现有技术,本发明所述的方法具有以下优势:
本发明使用Type 2的JDBC驱动结合UDR服务器实现分布式数据库的存储过程功能,在分离存储过程的执行和SQL执行的同时避免额外的网络通信,减少对存储过程执行性能的影响。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法的SPSQL调用流程;
图2为本发明实施例所述方法的DDL语句处理流程;
图3为本发明实施例所述方法的DML语句处理流程;
图4为本发明实施例所述方法的存储过程创建/删除流程;
图5为本发明实施例所述方法的存储过程调用流程;
图6为本发明实施例所述方法的访问者解析执行器。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
本发明的存储过程(SPSQL)在NewSQL分布式数据库系统中完整实现了存储过程功能,实现了包括流程控制、条件/异常处理、变量声明和赋值、表达式计算、游标、动态SQL、函数和包等功能。采用了独特的基于JDBC Type2驱动的隔离模式存储过程架构和实现方式来解决传统存储过程架构中存在的问题。
存储过程SPSQL的调用流程如图1所示,客户端的请求通过JDBC T4连接发送到数据库,数据库的执行器再将SPSQL存储过程封装成SPJ发送到UDR Server,UDR Server执行SPSQL对应的SPJ代码。
由于SPJ支持Java语言,因此使用Java来写SPSQL的解析和执行流程,SPSQL的解析和运行都通过这个Java语言编写的SPSQL Java库(SPSQL Java Library)来实现。
在UDR Server中SPSQL的Java库再通过EsgynDB提供的JDBC T2接口来访问数据库的执行器,执行存储过程中的SQL语句。
其中,EsgynDB是基于Apache Trafodion的一个企业级的融合型分布式数据库,属于现有技术。
本发明采用分离UDR服务器进程后需要使用JDBC驱动来连接数据库执行SQL语句,通常的JDBC驱动是Type 4驱动,这种驱动是通过网络协议连接到数据库,是最常见的JDBC驱动连接方式,通常用于客户端和数据库服务器之间的连接。但是由于存储过程实际上是数据库内部的不同处理进程之间的连接,如果使用Type 4连接就会导致额外的网络传输,从而导致性能问题。而JDBC Type 2连接是一种本地接口,不会引入额外的网络传输,因此可以使用JDBC的接口的同时又可以避免性能上的损失。
UDR服务器:
UDR Sever是一个独立的用于运行用户自定义过程的服务进程。这个UDR进程用于运行SPJ和其他的用户定义过程(UDR)。
由于SPSQL引入了新的语法和功能,因此需要对EsgynDB的语法解析器和UDRserver做相应的修改来支持SPSQL的功能,主要分为两个部分,一个是UDR DDL处理流程的修改,另一个是UDR DML处理流程的修改。
图2所示为SPSQL DDL语句的处理流程,其中,模块(Parser、routine_definition、StmtDDLCreateRoutine)、模块(SPSQL Java Library、createSPSQL、dropSPSQL)、模块(Arkcmp、CmpSebaseDDL)是为支持SPSQL DDL语句而添加和修改的。主要的修改是添加对SPSQL DDL语句的语法解析的支持和UDR Server调用SPSQL Library来执行SPSQL DDL语句的支持,具体的修改内容属于本领域的常规技术,在此不再赘述。
图3所示为对UDR Server DML处理逻辑的修改,用于SPSQL调用语句的处理流程,其中,模块(Parser、routine_invocation、RelRoution(CallSP))、模块(LanguageManager、LmRoutionJava)、模块(SPSQL Java Library、callRoutine)是添加和修改的部分。主要是添加SPSQL调用语句的解析支持和UDR Server调用SPSQL Library来执行SPSQL代码的支持。具体的修改内容属于本领域的常规技术,在此不再赘述。
使用SPJ包装SPSQL:
EsgynDB的SPJ是用来执行使用Java编写的用户定义程序(UDR),EsgynDB的SPSQL是利用SPJ的机制来实现的。由于SPJ只支持Java语言,不支持SPSQL语言,因此需要把SPSQL的代码包装在SPJ的请求中,然后在UDR Server中再通过调用使用Java语言编写的SPSQLJava Library来调用SPSQL的解析器和执行器来处理SPSQL语言编写的代码。
图4所示为执行SPSQL DDL语句的流程,SPSQL DDL语句首先会修改EsgynDB的元数据信息,添加或修改SPSQL定义的名称、参数等信息以及SPSQL定义的代码,然后再通过一个特殊的SPJ过程调用SPSQL Java Library中相应的SPSQL创建(createSPSQL)、删除(dropSPSQL)等处理函数。
图5是存储过程调用流程图,将SPSQL语言编写的存储过程封装成SPJ,然后再调用SPSQL Java Library中函数来解析和支持SPSQL存储过程的流程。当客户端执行CALL等语句执行SPSQL过程或函数时,这个SPSQL的调用请求会被包装为SPJ请求发送到UDR Server,后者再调用SPSQL Java Library中定义的callSPSQL函数。函数callSPSQL根据调用参数中的存储过程名字从EsgynDB的元数据中查找并加载对应的SPSQL代码,然后调用SPSQL的解析器对SPSQL代码进行解析并生成语法树,解析结束后启动执行器根据生成的语法树执行解析后的代码。
SPSQL Java Library:
SPSQL Java Library是实现了SPSQL语言的解析和执行,解析和执行主要基于ANTLR解析器实现,利用访问者(visitor)模型来实现执行器,图6是基于访问者模型实现的解析执行器。
SPSQL Java Library主要包括如下模块:
解析器,解析SPSQL语言,生成语法树,解析器基于ANTLR解析器实现;
执行器,根据解析生成的语法树执行其中的语句。基于ANTLR的访问者(Visitor)模式实现;
变量和作用域,处理变量声明、赋值和变量的作用域;
表达式,处理各种表达式的计算处理;
语句处理,执行非查询类的语句,比如DDL语句,插入、更新、删除等SQL语句的处理;
查询处理,处理SELECT查询语句;
游标,处理游标的打开、获取数据、关闭;
包,处理包的定义和执行;
信号,异常处理和条件处理;
内置函数,定义内置的字符、日期时间,以及兼容性等函数。
现有的存储过程实现机制通常都是同SQL执行引擎同时处理,这样可以保证性能,但是缺点是实现非常的复杂,执行器需要同时处理两种执行引擎的处理机制;另外由于存储过程是由用户编写的程序逻辑,有可能存在不严谨或错误的地方导致对数据库正常SQL执行引擎产生影响。本发明通过使用分离的UDR服务器运行存储过程的执行引擎,一方面可以简化SQL执行引擎和存储过程执行引擎的复杂性,也可以避免存储过程执行过程中产生的问题对SQL执行的影响。同时结合使用JDBC Type 2的本地驱动避免额外网络通信带来的性能损失。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于Type 2JDBC驱动的分离模式分布式存储过程实现方法,其特征在于,包括如下步骤:
1)数据库通过JDBC T4接收客户端的请求,数据库通过执行器将存储过程封装成SPJ发送到UDR Server;
2)UDR Server对SPJ进行解析,再通过JDBC T2接口来访问数据库的执行器,执行存储过程中的SQL语句;其中,
所述UDR Sever是一个独立的用于运行用户自定义过程的服务进程;
UDR Server收到SPJ后,调用Java语言编写的SPSQL Java
Library中定义的callSPSQL函数,callSPSQL函数根据调用参数中的SPSQL存储过程名字从EsgynDB的元数据中查找并加载对应的SPSQL代码,然后调用SPSQL的解析器对SPSQL代码进行解析并生成语法树,解析结束后启动执行器根据生成的语法树执行解析后的代码。
2.根据权利要求1所述的方法,其特征在于:所述SPSQL Java Library主要包括如下模块:
解析器,用于解析数据库语言,生成语法树,解析器是基于ANTLR解析器实现的;
执行器,用于根据语法树执行其中的语句,执行器的基于ANTLR的访问者模式实现的;
变量和作用域,用于处理变量声明、赋值和变量的作用域;
表达式,用于处理各种表达式的计算处理;
语句处理,用于执行非查询类的语句;
查询处理,用于处理SELECT查询语句;
游标,用于处理游标的打开、获取数据和关闭;
包,用于处理包的定义和执行;
信号,用于异常处理和条件处理;
内置函数,用于定义内置的字符、日期时间,以及兼容性函数。
3.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至2中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010499204.XA CN111694846B (zh) | 2020-06-04 | 2020-06-04 | 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010499204.XA CN111694846B (zh) | 2020-06-04 | 2020-06-04 | 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694846A CN111694846A (zh) | 2020-09-22 |
CN111694846B true CN111694846B (zh) | 2023-08-29 |
Family
ID=72478901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010499204.XA Active CN111694846B (zh) | 2020-06-04 | 2020-06-04 | 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694846B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925841B (zh) * | 2021-03-26 | 2022-11-08 | 瀚高基础软件股份有限公司 | 分布式jdbc实现方法、设备及计算机可读存储介质 |
CN113626465B (zh) * | 2021-08-09 | 2023-06-20 | 瀚高基础软件股份有限公司 | 数据库及在postgresql数据库中实现会话级变量的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6411956B1 (en) * | 1999-06-14 | 2002-06-25 | Sun Microsystems, Inc. | Method for distributed transaction support using JDBC 1.0 drivers |
CN102089741A (zh) * | 2007-09-17 | 2011-06-08 | 国际商业机器公司 | 在附接的高性能并行计算机上执行计算机密集型数据库用户定义的程序 |
CN105224613A (zh) * | 2015-09-17 | 2016-01-06 | 西安未来国际信息股份有限公司 | 基于数据联邦技术的异构数据源整合系统及其整合方法 |
CN107577802A (zh) * | 2017-09-25 | 2018-01-12 | 山东浪潮商用系统有限公司 | 一种数据库管理方法及装置 |
CN108255477A (zh) * | 2018-01-15 | 2018-07-06 | 贵州易鲸捷信息技术有限公司 | 一种通过sql编译器模拟优化数据库性能的方法及系统 |
TWI635407B (zh) * | 2017-05-25 | 2018-09-11 | 兆豐國際商業銀行股份有限公司 | 資料庫存取系統與資料庫存取方法 |
CN110851142A (zh) * | 2019-10-18 | 2020-02-28 | 浙江大学 | 一种将Transact-SQL程序转换为Java程序的方法 |
CN110909066A (zh) * | 2019-12-06 | 2020-03-24 | 中科院计算技术研究所大数据研究院 | 一种基于SparkSQL和RestAPI的流数据处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8140676B2 (en) * | 2007-04-10 | 2012-03-20 | Apertio Limited | Data access in distributed server systems |
-
2020
- 2020-06-04 CN CN202010499204.XA patent/CN111694846B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6411956B1 (en) * | 1999-06-14 | 2002-06-25 | Sun Microsystems, Inc. | Method for distributed transaction support using JDBC 1.0 drivers |
CN102089741A (zh) * | 2007-09-17 | 2011-06-08 | 国际商业机器公司 | 在附接的高性能并行计算机上执行计算机密集型数据库用户定义的程序 |
CN105224613A (zh) * | 2015-09-17 | 2016-01-06 | 西安未来国际信息股份有限公司 | 基于数据联邦技术的异构数据源整合系统及其整合方法 |
TWI635407B (zh) * | 2017-05-25 | 2018-09-11 | 兆豐國際商業銀行股份有限公司 | 資料庫存取系統與資料庫存取方法 |
CN107577802A (zh) * | 2017-09-25 | 2018-01-12 | 山东浪潮商用系统有限公司 | 一种数据库管理方法及装置 |
CN108255477A (zh) * | 2018-01-15 | 2018-07-06 | 贵州易鲸捷信息技术有限公司 | 一种通过sql编译器模拟优化数据库性能的方法及系统 |
CN110851142A (zh) * | 2019-10-18 | 2020-02-28 | 浙江大学 | 一种将Transact-SQL程序转换为Java程序的方法 |
CN110909066A (zh) * | 2019-12-06 | 2020-03-24 | 中科院计算技术研究所大数据研究院 | 一种基于SparkSQL和RestAPI的流数据处理方法 |
Non-Patent Citations (1)
Title |
---|
于帆 ; 王振铎 ; 王振辉.基于XML异构数据库集成中间件的设计与实现.《计算机应用研究》.2007,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111694846A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8321450B2 (en) | Standardized database connectivity support for an event processing server in an embedded context | |
US8959106B2 (en) | Class loading using java data cartridges | |
US9058360B2 (en) | Extensible language framework using data cartridges | |
US8086998B2 (en) | transforming meta object facility specifications into relational data definition language structures and JAVA classes | |
US8387076B2 (en) | Standardized database connectivity support for an event processing server | |
US6055370A (en) | Apparatus which allows data sharing amongst computer programs from different program environments | |
JP2602205B2 (ja) | データベース・アクセス制御方法 | |
WO2016123920A1 (zh) | 支持多类型数据库操作的集成接口的实现方法及系统 | |
US20100082646A1 (en) | Tracking constraints and dependencies across mapping layers | |
US7426503B2 (en) | System and method for an improved type inference | |
US7860823B2 (en) | Generic interface for deep embedding of expression trees in programming languages | |
US20070226196A1 (en) | Mapping architecture with incremental view maintenance | |
US20210209098A1 (en) | Converting database language statements between dialects | |
CN110688397B (zh) | 一种基于sql的分布式数据统一访问系统及方法 | |
BRPI0708827A2 (pt) | linguagem de consulta extensÍvel com suporte para tipos de dados ricos | |
CN112579626A (zh) | 多源异构sql查询引擎的构建方法及装置 | |
CN111694846B (zh) | 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法 | |
US8943472B1 (en) | System and method for directly accessing SAS datasets from a JAVA program | |
CN117093599A (zh) | 面向异构数据源的统一sql查询方法 | |
CN117421302A (zh) | 一种数据处理方法及相关设备 | |
CN111782195A (zh) | 一种基于在请求参数上添加注解拼接成sql的查询方法 | |
CN114490842B (zh) | 一种多源数据的接口数据查询方法和数据查询引擎 | |
CN117555925B (zh) | 数据库访问代码转换方法、装置及电子设备 | |
CN113157726B (zh) | 一种数据库的处理方法及装置 | |
CN114238469B (zh) | 数据提取接口开放方法、装置、计算机设备及存储介质 |
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 |