CN116450616A - 一种基于解析树的通用异构关系型数据库sql迁移方法 - Google Patents
一种基于解析树的通用异构关系型数据库sql迁移方法 Download PDFInfo
- Publication number
- CN116450616A CN116450616A CN202310433511.1A CN202310433511A CN116450616A CN 116450616 A CN116450616 A CN 116450616A CN 202310433511 A CN202310433511 A CN 202310433511A CN 116450616 A CN116450616 A CN 116450616A
- Authority
- CN
- China
- Prior art keywords
- sql
- ast
- lexical
- database
- tree
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013508 migration Methods 0.000 title claims abstract description 19
- 230000005012 migration Effects 0.000 title claims abstract description 19
- 238000006243 chemical reaction Methods 0.000 claims abstract description 58
- 238000004458 analytical method Methods 0.000 claims abstract description 27
- 238000011156 evaluation Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 15
- 238000012360 testing method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 230000015556 catabolic process Effects 0.000 claims description 3
- 238000006731 degradation reaction Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 2
- 238000010276 construction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000011426 transformation method Methods 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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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/425—Lexical analysis
-
- 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/43—Checking; Contextual analysis
-
- 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/51—Source to source
-
- 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
Abstract
本发明属于数据库技术领域,公开了一种基于解析树的通用异构关系型数据库SQL迁移方法,包括,对待转换的SQL语句进行词法和语法解析,生成的AST,由兼容性评估模块遍历访问生成的AST,识别语句中的语法、语义错误或与目标数据库的不兼容方言相关的问题;对通过评估的可转换语句进行重构,根据方言点转换成相应的目标数据库SQL语句;将“重构转换”后的结果语句放入验证器中进行验证。本发明根据不同SQL语句在源数据库和目标数据库中的兼容性。本发明针对源数据库的SQL方言生成特定的抽象语法树,并通过对抽象语法树的遍历和转换实现从源数据库到目标数据库的SQL方言高效转换,对源数据库方言的转换具有较高的转换率和正确性。
Description
技术领域
本发明属于数据库技术领域,具体的说是涉及一种基于解析树的通用异构关系型数据库SQL迁移方法。
背景技
数据库是计算机进行信息管理的核心,也是大数据时代下大数据技术的重要组成部分,而SQL语言是一种特殊的计算机语言,用于处理数据库系统中的大规模数据。随着数据库领域的蓬勃发展,各种商业数据库系统层出不穷,不同的生产商制定了不同的SQL标准,这导致数据库管理系统之间出现了SQL语句无法兼容的局面。在需要对大型数据库系统进行迁移时,就不得不耗费大量的时间、成本,人工地将源数据库的SQL语句翻译为目标数据库中合法的且符合语义的SQL语句。因此,对异构数据库间SQL语句转换的研究迫在眉睫。
当前,现有的语言转换方法及工具有:SQLines工具和基于算子的SQL语句转换方法等等。
SQLines可用于整个数据库迁移,其功能强大,不仅可以做到数据迁移还能迁移服务器端业务逻辑、SQL语句等复杂部分。但其存在着无法指定源数据库和目标数据库版本、缺失部分转换策略和正确性无法保证等问题。
基于算子的SQL语句转换方法是通过对若干算子的转换进而生成SQL方言的方法。虽然有效利用了计算机的高速运算能力,但是无法避免信息丢失的问题,并且正确性也难以保证。
发明内容
为了解决上述技术问题,本发明提供了一种基于解析树的通用异构关系型数据库SQL迁移方法,以实现源SQL语句到目标SQL语句的转换。本发明利用词法解析和语法解析实现了对源语句的抽象语法树(AST)的构建,接着,判断源SQL语句到目标SQL语句是否兼容,若兼容,则根据转换规则和重写策略,重构AST,最后,对重构结果进行校验,生成评估报告,实现SQL语句的重写。若不兼容,则直接生成不可转换的评估报告。
为了达到上述目的,本发明是通过以下技术手段实现的:
本发明是一种基于解析树的通用异构关系型数据库SQL迁移方法,包括如下步骤:
步骤1)输入一段待转换的源数据库语句;
步骤2)将给定的源数据库语句解析成一棵抽象语法树(AST);
步骤3)对步骤3)得到的语法树进行语义分析,将生成的tokens中的信息转换成AST的表述结构;
步骤4)根据加载的规则,通过不同的策略对生成的AST节点进行变换或直接替换;
步骤5)将步骤5)得到的新AST树转化成目标数据库语句,并对生成的目标SQL语句进行验证。
进一步的,所述步骤2)包括以下步骤:
步骤21)生成SQL词法解析器。对SQL词法规则进行定义,形成描述词法规则的语法文件作为输入,根据语法文件的输入,输出SQL词法分析程序的Java代码,然后通过Java进行编译,最终形成SQL词法解析器。
该词法解析器每次读取一个字符,在当前字符与之前的字符所属分类不一致时,即完成一个词法单元的识别。其中,词法单元分为关键字、标识符、字面量、运算符和分界符。最终将SQL拆分为一个个不可再分的词法单元。
步骤22)语法解析器采用递归下降解析法构造,将定义的每个语法规则生成一个类方法,即对每个非终结符按其产生式结构构造相应的递归子程序,其中终结符产生匹配命令,而非终结符产生过程调用命令。根据预先指定的K值,语法解析器最多读取K个符号来判断到底选择哪个备选式的子程序被调用,其中子程序的结构与产生式结构基本是一致的。
该语法解析器从步骤21)的词法解析器中获取拆分好的一个词法单元,如果满足当前语法规则,则继续下一个词法单元的提取和匹配,直至字符串结束;若不满足当前可选规则,则需要与下个规则做匹配,直至匹配成功或与下个非可选规则匹配失败。便提示错误并结束本次解析。
步骤23)最终得到SQL语句转换成的抽象语法树。
步骤24)下一个操作是通过访问者(visitor)模式遍历步骤23)中的AST树,识别源数据库和目标数据库之间天然兼容、转换后兼容、不兼容、语义错误和语法解析错误的SQL语句,并将五种情况标注出来。
进一步的,所述步骤3)包括以下步骤:
步骤31)对异构数据库中的基本数据类型、内置函数进行整理,根据类型、取值范围和参数(精度、长度)建立源数据库类型到目标数据库类型的基本数据类型映射关系,根据名称、用法和功能等建立源数据库函数到目标数据库函数的内置函数映射关系。
步骤32)对步骤2)得到的AST树中构成SQL语句的词法单元进行扫描匹配,判断读入的词法单元是否匹配步骤31)中的转换规则,随后标记该词法单元并提取出其词法转换策略。
步骤33)对异构数据库间的DDL语句、DQL语句、DML语句和DCL语句建立语法转换规则即源数据库SQL到目标数据库SQL的映射关系。
步骤34)在步骤32)中词法转换策略的基础上识别词法单元序列组合成各类SQL语句,并标记有可能需要改写的位置,如常用语法、存储过程、触发器、权限操作,根据步骤33)中的语法转换规则实现上下文的整体结构转换。
进一步的,所述步骤4)包括以下步骤:
步骤41)对SQL语句进行词法转换,主要是对源数据库的基本数据类型和内置函数的变换。映射到AST模型上,就是根据源数据库和目标数据库的异构数据库词法转换规则,在不同的转换操作下直接修改AST树对应的节点内容,或对其子节点输入参数进行插入、修改等。
步骤42)对SQL语句进行语法转换。映射到AST模型上,就是对源AST的树形进行一系列操作,包括裁剪、嫁接、跳转等,使之转换为目标AST树。若涉及的方言使用方法迥异或AST结构复杂时,需要使用组合操作方法来进行语法转换。
步骤43)最终得到符合目标数据库语法规则的AST树。
进一步的,所述步骤5)包括以下步骤:
步骤51)将生成的目标数据库语句输入验证器中,经过验证器中的词法分析和语法分析,将目标数据库语句抽象为AST树。
步骤52)遍历AST树中的节点,若当前节点不符合目标数据库规则,则退出遍历,并生成错误信息。
步骤53)在基准测试集中分别生成源数据库及目标数据库版本的测试SQL,对于每一条目标数据库语句重复执行上述步骤51)和步骤52),记录转换情况,并计算出总体转换率。
本发明的有益效果是:本发明将转换过程划分为四大部分,可降低各部分间的耦合性,易于维护与扩展。
(1)本发明提取了两种数据库中SQL语言的转换规则和策略,易于扩展。当其中某个数据库的语句发生变化时,可直接修改其对应的转换规则文件。
(2)本发明适合各种语法迁移。当需要进行新的语法迁移工具开发时,只需进行规则的提取,除此之外的规则语法、生成代码等部分均可以直接复用。
(3)本发明对所生成的目标SQL语句进行验证,确保结果的准确性。
附图说明
图1是异构关系型数据库SQL迁移方法流程图。
图2是结果验证器流程图。
图3是实施例步骤23)最终得到SQL语句转换成的抽象语法树。
图4是实施例步骤44)最终得到符合目标数据库语法规则的AST树。
具体实施方式
以下将以图式揭露本发明的实施方式,为明确说明起见,许多实务上的细节将在以下叙述中一并说明。然而,应了解到,这些实务上的细节不应用以限制本发明。也就是说,在本发明的部分实施方式中,这些实务上的细节是非必要的。
本发明利用AST解析源SQL语句,并对源AST进行一系列的裁剪、嫁接、跳转操作以此来生成目标SQL语句,期间通过遍历器访问语法树。以此为基础,本发明构建了一种基于解析树的通用异构关系型数据库SQL迁移方法,来实现从源数据库到目标数据库的SQL语句转换。
具体的如图1和图2所示,本发明是一种基于解析树的通用异构关系型数据库SQL迁移方法,包括以下步骤:
步骤1)输入一段待转换的源数据库语句,例如:
SELECT
emp_id||emp_last||eid
FROM
dup_hiredate
ORDER BY
order1;
步骤2)将给定的源数据库语句解析成一棵抽象语法树(AST);
步骤21)生成SQL词法解析器。对SQL词法规则进行定义,形成描述词法规则的语法文件作为输入,根据语法文件的输入,输出SQL词法分析程序的Java代码,然后通过Java进行编译,最终形成SQL词法解析器。
该词法解析器每次读取一个字符,在当前字符与之前的字符所属分类不一致时,即完成一个词法单元的识别。其中,词法单元分为关键字、标识符、字面量、运算符和分界符。最终将SQL拆分为一个个不可再分的词法单元。
步骤22)语法解析器采用递归下降解析法构造,将定义的每个语法规则生成一个类方法,即对每个非终结符按其产生式结构构造相应的递归子程序,其中终结符产生匹配命令,而非终结符产生过程调用命令。根据预先指定的K值,语法解析器最多读取K个符号来判断到底选择哪个备选式的子程序被调用,其中子程序的结构与产生式结构基本是一致的。
该语法解析器从步骤21)的词法解析器中获取拆分好的一个词法单元,如果满足当前语法规则,则继续下一个词法单元的提取和匹配,直至字符串结束;若不满足当前可选规则,则需要与下个规则做匹配,直至匹配成功或与下个非可选规则匹配失败。便提示错误并结束本次解析。
步骤23)最终得到SQL语句转换成的抽象语法树,如图3所示。
步骤24)下一个操作是通过访问者(visitor)模式遍历步骤23)中的AST树,识别源数据库和目标数据库之间天然兼容、转换后兼容、不兼容、语义错误和语法解析错误的SQL语句,并将五种情况标注出来。
步骤3)对步骤2)得到的语法树进行语义分析,将生成的tokens中的信息转换成AST的表述结构;
步骤31)对异构数据库中的基本数据类型、内置函数进行整理,根据类型、取值范围和参数如精度、长度建立源数据库类型到目标数据库类型的基本数据类型映射关系,根据名称、用法和功能等建立源数据库函数到目标数据库函数的内置函数映射关系。
步骤32)对步骤2)得到的AST树中构成SQL语句的词法单元进行扫描匹配,判断读入的词法单元是否匹配步骤31)中的转换规则,随后标记该词法单元并提取出其词法转换策略。
步骤33)对异构数据库间的DDL语句、DQL语句、DML语句和DCL语句建立语法转换规则即源数据库SQL到目标数据库SQL的映射关系。
步骤34)在步骤32)中词法转换策略的基础上识别词法单元序列组合成各类SQL语句,并标记有可能需要改写的位置,如常用语法、存储过程、触发器、权限操作,根据步骤33)中的语法转换规则实现上下文的整体结构转换。
步骤4)根据加载的规则,通过不同的策略对生成的AST节点进行变换或直接替换,加载的规则是指具体实现的时候Java类的加载规则;
步骤41)对SQL语句进行词法转换,主要是对源数据库的基本数据类型和内置函数的变换。映射到AST模型上,就是根据源数据库和目标数据库的异构数据库词法转换规则,在不同的转换操作下直接修改AST树对应的节点内容,或对其子节点输入参数进行插入、修改等。
步骤42)对SQL语句进行语法转换。映射到AST模型上,就是对源AST的树形进行一系列操作,包括裁剪、嫁接、跳转等,使之转换为目标AST树。若涉及的方言使用方法迥异或AST结构复杂时,需要使用组合操作方法来进行语法转换。
步骤43)最终得到符合目标数据库语法规则的AST树,如图4所示。
步骤5)将步骤4)得到的新AST树转化成目标数据库语句,并对生成的目标SQL语句进行验证。
步骤51)通过语法解析树转换成的目标数据库SQL语句为:
SELECT
concat(emp_id,emp_last,eid)
FROM
dup_hiredate
ORDER BY
order1;
将上述目标数据库语句输入验证器中,经过验证器中的词法分析和语法分析,将目标数据库语句抽象为AST树。
步骤52)遍历AST树中的节点,若当前节点不符合目标数据库规则,则退出遍历,并生成错误信息。
步骤53)在基准测试集中分别生成源数据库及目标数据库版本的测试SQL,对于每一条目标数据库语句重复执行上述步骤51)和步骤52),记录转换情况,并计算出总体转换率。
为了降低系统的耦合性,本发明划分为四大部分,分别为:SQL解析、兼容性评估、重构转换和结果验证。首先获取源数据库的SQL语句作为输入,对该语句进行语法和词法解析,编译生成抽象语法树(AST)。判断源SQL语句到目标数据库语句属于天然兼容、转换后兼容、不兼容、语义错误亦或者语法解析错误。进一步,根据改写规则提供的转换策略,被判断为可转换的SQL语句所生成的AST将被重构,并生成为目标语句。最后,对目标SQL语句进行验证,检测是否符合该数据库的语法规则,以确保转换的准确性。
Claims (7)
1.一种基于解析树的通用异构关系型数据库SQL迁移方法,其特征在于:所述方法包括如下步骤:
步骤1、输入一段待转换的源数据库语句;
步骤2、将步骤1给定的所述源数据库语句解析成一棵抽象语法树(AST);
步骤3、对步骤2得到的抽象语法树(AST)进行语义分析,将生成的tokens中的信息转换成AST的表述结构;
步骤4、根据加载的规则,通过不同的策略对生成的AST节点进行变换或直接替换,得到符合目标数据库语法规则的AST树;
步骤5、将步骤4得到的符合目标数据库语法规则的AST树转化成目标数据库语句,并对生成的目标SQL语句进行验证。
2.根据权利要求1所述的一种基于解析树的通用异构关系型数据库SQL迁移方法,其特征在于:步骤2将给定的源数据库语句解析成一棵抽象语法树具体包括以下步骤:
步骤21、生成SQL词法解析器,所述词法解析器对SQL词法规则进行定义,形成描述词法规则的语法文件作为输入,根据语法文件的输入,输出SQL词法分析程序的Java代码,然后通过Java进行编译,最终形成SQL词法解析器,所述词法解析器每次读取一个字符,在当前字符与之前的字符所属分类不一致时,即完成一个词法单元的识别,最终将SQL拆分为一个个不可再分的词法单元;
步骤22、语法解析器采用递归下降解析法构造,将定义的每个语法规则生成一个类方法,即对每个非终结符按其产生式结构构造相应的递归子程序,其中终结符产生匹配命令,而非终结符产生过程调用命令,根据预先指定的K值,语法解析器最多读取K个符号来判断到底选择哪个备选式的子程序被调用,其中子程序的结构与产生式结构是一致的,所述述语法解析器从步骤21的词法解析器中获取拆分好的一个词法单元,如果满足当前语法规则,则继续下一个词法单元的提取和匹配,直至字符串结束;若不满足当前可选规则,则需要与下个规则做匹配,直至匹配成功或与下个非可选规则匹配失败,便提示错误并结束本次解析;
步骤23、最终得到SQL语句转换成的抽象语法树;
步骤24、通过访问者(visitor)模式遍历步骤23中的AST树,识别源数据库和目标数据库之间天然兼容、转换后兼容、不兼容、语义错误和语法解析错误的SQL语句,并将五种情况标注出来。
3.根据权利要求2所述的一种基于解析树的通用异构关系型数据库SQL迁移方法,其特征在于:步骤3将生成的tokens中的信息转换成AST的表述结构具体包括以下步骤:
步骤31、对异构数据库中的基本数据类型、内置函数进行整理,根据类型、取值范围和参数建立源数据库类型到目标数据库类型的基本数据类型映射关系,根据名称、用法和功能建立源数据库函数到目标数据库函数的内置函数映射关系;
步骤32、对步骤2得到的抽象语法树(AST)中构成SQL语句的词法单元进行扫描匹配,判断读入的词法单元是否匹配步骤31中的转换规则,随后标记该词法单元并提取出其词法转换策略;
步骤33、对异构数据库间的DDL语句、DQL语句、DML语句和DCL语句建立语法转换规则即源数据库SQL到目标数据库SQL的映射关系;
步骤34、在步骤32中词法转换策略的基础上识别词法单元序列组合成各类SQL语句,并标记需要改写的位置即常用语法、存储过程、触发器、权限操作,根据步骤33中的语法转换规则实现上下文的整体结构转换。
4.根据权利要求3所述的一种基于解析树的通用异构关系型数据库SQL迁移方法,其特征在于:所述步骤4通过不同的策略对生成的AST节点进行变换或直接替换具体包括以下步骤:
步骤41、对SQL语句进行词法转换:对源数据库的基本数据类型和内置函数的变换,映射到AST模型上,即根据源数据库和目标数据库的异构数据库词法转换规则,在不同的转换操作下直接修改AST树对应的节点内容,或对其子节点输入参数进行插入、修改;
步骤42、对SQL语句进行语法转换:映射到AST模型上,即对源AST的树形进行裁剪、嫁接、跳转,使之转换为目标AST树;
步骤43、最终得到符合目标数据库语法规则的AST树。
5.根据权利要求1所述的一种基于解析树的通用异构关系型数据库SQL迁移方法,其特征在于:步骤5中将步骤4得到的符合目标数据库语法规则的AST树转化成目标数据库语句,并对生成的目标SQL语句进行验证,具体包括以下步骤:
步骤51、将生成的目标数据库语句输入验证器中,经过验证器中的词法分析和语法分析,将目标数据库语句抽象为AST树;
步骤52、遍历AST树中的节点,若当前节点不符合目标数据库规则,则退出遍历,并生成错误信息;
步骤53、在基准测试集中分别生成源数据库及目标数据库版本的测试SQL,对于每一条目标数据库语句重复执行步骤51和步骤52,记录转换情况,并计算出总体转换率。
6.根据权利要求2所述的一种基于解析树的通用异构关系型数据库SQL迁移方法,其特征在于:所述步骤22中词法单元分为关键字、标识符、字面量、运算符和分界符。
7.根据权利要求1所述的一种基于解析树的通用异构关系型数据库SQL迁移方法,其特征在于:步骤5中的目标SQL语句分为五个类别:天然兼容、转换后兼容、不兼容、语义错误和语法解析错误,对于每一条SQL语句,兼容性评估均会生成一条评估记录,用于最后汇总为转换评估报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310433511.1A CN116450616A (zh) | 2023-04-21 | 2023-04-21 | 一种基于解析树的通用异构关系型数据库sql迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310433511.1A CN116450616A (zh) | 2023-04-21 | 2023-04-21 | 一种基于解析树的通用异构关系型数据库sql迁移方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450616A true CN116450616A (zh) | 2023-07-18 |
Family
ID=87127171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310433511.1A Pending CN116450616A (zh) | 2023-04-21 | 2023-04-21 | 一种基于解析树的通用异构关系型数据库sql迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450616A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112536A (zh) * | 2023-08-25 | 2023-11-24 | 中电金信软件有限公司 | 数据库迁移方法、装置、设备及存储介质 |
CN117220902A (zh) * | 2023-07-24 | 2023-12-12 | 达州市斑马工业设计有限公司 | 应用于智慧云的数据攻击处理方法及服务器 |
CN117290377A (zh) * | 2023-09-28 | 2023-12-26 | 北京领雁科技股份有限公司 | 一种关系型数据库间sql语句的转换方法以及装置 |
CN117555920A (zh) * | 2024-01-11 | 2024-02-13 | 冠骋信息技术(苏州)有限公司 | 适用于低代码平台的多数据源适配方法及系统 |
-
2023
- 2023-04-21 CN CN202310433511.1A patent/CN116450616A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117220902A (zh) * | 2023-07-24 | 2023-12-12 | 达州市斑马工业设计有限公司 | 应用于智慧云的数据攻击处理方法及服务器 |
CN117112536A (zh) * | 2023-08-25 | 2023-11-24 | 中电金信软件有限公司 | 数据库迁移方法、装置、设备及存储介质 |
CN117290377A (zh) * | 2023-09-28 | 2023-12-26 | 北京领雁科技股份有限公司 | 一种关系型数据库间sql语句的转换方法以及装置 |
CN117555920A (zh) * | 2024-01-11 | 2024-02-13 | 冠骋信息技术(苏州)有限公司 | 适用于低代码平台的多数据源适配方法及系统 |
CN117555920B (zh) * | 2024-01-11 | 2024-03-12 | 冠骋信息技术(苏州)有限公司 | 适用于低代码平台的多数据源适配方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116450616A (zh) | 一种基于解析树的通用异构关系型数据库sql迁移方法 | |
US10698682B1 (en) | Computerized software development environment with a software database containing atomic expressions | |
US9122540B2 (en) | Transformation of computer programs and eliminating errors | |
CN106843849B (zh) | 一种基于文档的库函数的代码模型的自动合成方法 | |
CN107203468B (zh) | 一种基于ast的软件版本演化对比分析方法 | |
CN110059176B (zh) | 一种基于规则的通用文本信息抽取和信息生成方法 | |
CN109857641A (zh) | 对程序源文件进行缺陷检测的方法及装置 | |
US11294665B1 (en) | Computerized software version control with a software database and a human database | |
CN108766507B (zh) | 一种基于CQL与标准信息模型openEHR的临床质量指标计算方法 | |
US10891117B2 (en) | Method and system for using subroutine graphs for formal language processing | |
CN117093222A (zh) | 一种基于改进转换器模型的代码参数摘要生成方法和系统 | |
CN116842042A (zh) | 异化数据库的通用方法、装置、电子设备及存储介质 | |
CN112905232B (zh) | 一种基于语法分析树的程序代码平行语料挖掘方法及系统 | |
CN114090017B (zh) | 编程语言的解析方法及装置、非易失性存储介质 | |
CN115292347A (zh) | 一种基于规则的主动式sql算法性能检查装置及方法 | |
Waddington et al. | High-fidelity C/C++ code transformation | |
CN114816356A (zh) | 基于接口文档生成http请求代码的系统及方法 | |
CN113032366A (zh) | 基于Flex和Bison的SQL语法树解析方法 | |
Arusoaie et al. | Automating abstract syntax tree construction for context free grammars | |
Mennie et al. | Giving meaning to macros | |
CN112445492A (zh) | 一种基于antlr4的源码翻译方法 | |
CN112507083B (zh) | 一种基于调度防误领域语言的防误规则库构建方法 | |
Zohri Yafi | A Syntactical Reverse Engineering Approach to Fourth Generation Programming Languages Using Formal Methods | |
CN113626465B (zh) | 数据库及在postgresql数据库中实现会话级变量的方法 | |
CN117591095A (zh) | 一种基于表达式ast解析和可配置模板的代码生成方法 |
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 |