基于ODBC规范的命令转换方法、系统、计算机设备及介质技术方案

技术编号:36081894 阅读:25 留言:0更新日期:2022-12-24 10:56
本发明专利技术公开了一种基于ODBC规范的命令转换方法、系统、计算机设备及介质,通过ODBC规范接口获取用户输入的MYSQL协议包(即外部解码文件),并根据MYSQL协议包内包含的语句类型来对MYSQL协议包进行针对性的调用解析,实现了通过设置协议服务器来对多种不同语句类型的MYSQL协议包进行提前调用及解析,实现了无需对MYSQL协议包进行前期操作即可直接通过ODBC规范接口进行输入调用及解析的技术效果,解决了现有技术当中在现有的解码方式中当外部解码文件需要通过ODBC规范接口输入到服务器进行数据库调用及执行时,需要对外部解码文件进行提前修改,导致当需要接入的外部解码文件过多时,大量的外部解码文件修改工作造成了工作人员的使用负担,不利于提升工作效率的问题。不利于提升工作效率的问题。不利于提升工作效率的问题。

【技术实现步骤摘要】
基于ODBC规范的命令转换方法、系统、计算机设备及介质


[0001]本专利技术涉及命令转换,尤其涉及一种基于ODBC规范的命令转换方法、系统、计算机设备及介质。

技术介绍

[0002]Mcrosoft推出的ODBC规范(Open Database Connectivity)技术为异质数据库的访问提供了统一的接口。ODBC规范基于SQL(Structured Query Language),并把它作为访问数据库的标准。这个ODBC规范接口提供了最大限度的相互可操作性,一个应用程序可以通过一组通用的代码访问不同的数据库管理系统,同时一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上,因此ODBC规范可以为不同的数据库提供相应的驱动程序,但是由于目前在SQL数据库中的ODBC规范接口数量较多,因此当外部解码文件需要通过ODBC规范接口输入到服务器进行数据库调用及执行时,需要对外部解码文件提前进行提前修改,当需要接入的外部解码文件过多时,大量的外部解码文件修改工作造成了工作人员的使用负担,不利于提升工作效率。

技术实现思路

[0003]基于此,有必要针对上述问题,提出了一种能无需对外部解码文件进行修改即可通过ODBC规范接口输入到服务器进行数据库调用及执行,从而提升调用效率的基于ODBC规范的命令转换方法、系统、计算机设备及介质。
[0004]本专利技术公开了一种基于ODBC规范的命令转换方法,包括协议服务器、ODBC规范接口、数据库以及后台系统,所述协议服务器的一端与所述ODBC规范接口相连,所述协议服务器的另一端与所述数据库相连,所述后台系统还与所述ODBC规范接口以及所述数据库相连,所述方法包括:
[0005]所述后台系统判断ODBC规范接口输入的MYSQL协议包内包含的命令类型是否为查询命令;
[0006]若是,则所述协议服务器将所述MYSQL协议包内包含的语句进行解析,生成解析语句集;
[0007]所述协议服务器判断所述解析语句集内包含的解析语句是否仅为MYSQL语句;
[0008]若是,则所述协议服务器将所述MYSQL语句进行转换为接口转换参数集后,供所述数据库内的JDBC规范接口组进行调用执行,从而转换为转换结果集;
[0009]所述数据库将所述转换结果集发送到所述后台系统。
[0010]进一步的,所述JDBC规范接口组包含getProdedures接口,所述转换结果集包含show procedure结果集;
[0011]则所述协议服务器将所述MYSQL语句进行转换为接口转换参数集后,供所述数据库内的JDBC规范接口组进行调用执行,从而转换为转换结果集的步骤,具体包括:
[0012]所述协议服务器判断所述MYSQL语句的命令类型前缀是否为show类型;
[0013]若是,则判断所述MYSQL语句的命令类型是否为show procedure命令;
[0014]若是,则获取与所述show procedure命令匹配的第一预设正则表达式;
[0015]获取所述MYSQL语句内的第一匹配参数,并将所述第一匹配参数输入所述第一预设正则表达式内进行运算,从而推算出第一接口转换参数;
[0016]所述数据库调用JDBC规范接口中的getProdedures接口来对所述第一接口转换参数进行转换,从而生成show procedure结果集。
[0017]进一步的,所述JDBC规范接口组包含getDatabases接口,所述转换结果集包含show databases结果集;
[0018]则所述协议服务器判断所述MYSQL语句的命令类型前缀是否为show类型的步骤之后,还包括:
[0019]若是,则所述协议服务器判断所述MYSQL语句的命令类型是否为show databases命令;
[0020]若是,则获取与所述show databases命令匹配的第二预设正则表达式;
[0021]获取所述MYSQL语句内的第二匹配参数,并将所述第二匹配参数输入所述第二预设正则表达式内进行运算,从而推算出第二接口转换参数;
[0022]调用JDBC规范接口中的getDatabases接口来对所述第二接口转换参数进行转换,从而生成show databases结果集。
[0023]进一步的,其特征在于,所述JDBC规范接口组包含getIndexs接口,所述转换结果集包含show Indexs结果集;
[0024]则所述协议服务器判断所述MYSQL语句的命令类型前缀是否为show类型的步骤之后,还包括:
[0025]若是,则判断所述接口转换参数集的命令类型是否为show Indexs命令;
[0026]若是,则获取与所述show Indexs命令匹配的第三预设正则表达式;
[0027]获取所述MYSQL语句内的第三匹配参数,并将所述第三匹配参数输入所述第三预设正则表达式内进行运算,从而推算出第三接口转换参数;
[0028]调用JDBC规范接口中的getIndexs接口来对所述第三接口转换参数进行转换,从而生成show Indexs结果集。
[0029]进一步的,所述JDBC规范接口组包含getTables接口,所述转换结果集包含show Tables结果集;
[0030]则所述协议服务器判断所述MYSQL语句的命令类型前缀是否为show类型的步骤之后,还包括:
[0031]若是,判断所述接口转换参数集的命令类型是否为show Tables命令;
[0032]若是,则获取与所述show Tables命令匹配的第四预设正则表达式;
[0033]获取所述MYSQL语句内的第四匹配参数,并将所述第四匹配参数输入所述第四预设正则表达式内进行运算,从而推算出第四接口转换参数;
[0034]调用JDBC规范接口中的getTables接口来对所述第四接口转换参数进行转换,从而生成show Tables结果集。
[0035]进一步的,所述协议服务器判断所述MYSQL语句的命令类型前缀是否为show类型的步骤之后,还包括:
[0036]若否,则判断所述MYSQL语句的命令类型是否为Select查询命令;
[0037]若是,则调用JDBC规范接口组将所述MYSQL语句输入所述数据库内进行执行,从而输出与MYSQL协议规定格式匹配的第一执行结果集;
[0038]将所述第一执行结果集添加到所述转换结果集内并发送到所述后台系统;
[0039]其中,所述判断所述MYSQL语句的命令类型是否为Select查询命令的步骤之后,还包括:
[0040]若否,则将则调用JDBC规范接口组将所述MYSQL语句输入所述数据库内进行执行,从而输出第二执行结果集;
[0041]将所述第二执行结果集添加到所述转换结果集内并发送到所述后台系统。
[0042]进一步的,所述后台系统判断ODBC规范接口本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于ODBC规范的命令转换方法,其特征在于,包括协议服务器、ODBC规范接口、数据库以及后台系统,所述协议服务器的一端与所述ODBC规范接口相连,所述协议服务器的另一端与所述数据库相连,所述后台系统还与所述ODBC规范接口以及所述数据库相连,所述方法包括:所述后台系统判断ODBC规范接口输入的MYSQL协议包内包含的命令类型是否为查询命令;若是,则所述协议服务器将所述MYSQL协议包内包含的语句进行解析,生成解析语句集;所述协议服务器判断所述解析语句集内包含的解析语句是否仅为MYSQL语句;若是,则所述协议服务器将所述MYSQL语句进行转换为接口转换参数集后,供所述数据库内的JDBC规范接口组进行调用执行,从而转换为转换结果集;所述数据库将所述转换结果集发送到所述后台系统。2.如权利要求1所述的基于ODBC规范的命令转换方法,其特征在于,所述JDBC规范接口组包含getProdedures接口,所述转换结果集包含show procedure结果集;则所述协议服务器将所述MYSQL语句进行转换为接口转换参数集后,供所述数据库内的JDBC规范接口组进行调用执行,从而转换为转换结果集的步骤,具体包括:所述协议服务器判断所述MYSQL语句的命令类型前缀是否为show类型;若是,则判断所述MYSQL语句的命令类型是否为show procedure命令;若是,则获取与所述show procedure命令匹配的第一预设正则表达式;获取所述MYSQL语句内的第一匹配参数,并将所述第一匹配参数输入所述第一预设正则表达式内进行运算,从而推算出第一接口转换参数;所述数据库调用JDBC规范接口中的getProdedures接口来对所述第一接口转换参数进行转换,从而生成show procedure结果集。3.如权利要求2所述的基于ODBC规范的命令转换方法,其特征在于,所述JDBC规范接口组包含getDatabases接口,所述转换结果集包含show databases结果集;则所述协议服务器判断所述MYSQL语句的命令类型前缀是否为show类型的步骤之后,还包括:若是,则所述协议服务器判断所述MYSQL语句的命令类型是否为show databases命令;若是,则获取与所述show databases命令匹配的第二预设正则表达式;获取所述MYSQL语句内的第二匹配参数,并将所述第二匹配参数输入所述第二预设正则表达式内进行运算,从而推算出第二接口转换参数;调用JDBC规范接口中的getDatabases接口来对所述第二接口转换参数进行转换,从而生成show databases结果集。4.如权利要求2所述的基于ODBC规范的命令转换方法,其特征在于,所述JDBC规范接口组包含getIndexs接口,所述转换结果集包含showIndexs结果集;则所述协议服务器判断所述MYSQL语句的命令类型前缀是否为show类型的步骤之后,还包括:若是,则判断所述接口转换参数集的命令类型是否为show Indexs命令;若是,则获取与所述show Indexs命令匹配的第三预设正则表达式;
获取所述MYSQL语句内的第三匹配参数,并将所述第三匹配参数输入所述第三预设正则表达式内进行运算,从而推算出第三接口转换参数;调用JDBC规范接口中的getIndexs接口来对所述第三接口转换参数进行转换,从而生成show Indexs结果集。5.如权利要求2所述的基于ODBC规范的命令转换方法,其特征在于,所述JDBC规范接口组包含getTables接口,所述转换结果集包含show Tables结果集;则所述协议服务器判断所述MYSQL语句的命令类...

【专利技术属性】
技术研发人员:代庆国刘亚军贺欢庆
申请(专利权)人:北京信格科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1