[发明专利]一种校验Sql语句中库表字段名的方法以及计算机设备有效

专利信息
申请号: 201810116384.1 申请日: 2018-02-06
公开(公告)号: CN108388606B 公开(公告)日: 2022-01-25
发明(设计)人: 林传文 申请(专利权)人: 福建星瑞格软件有限公司
主分类号: G06F16/2455 分类号: G06F16/2455
代理公司: 福州市鼓楼区京华专利事务所(普通合伙) 35212 代理人: 林晓琴
地址: 350000 福建省福州市鼓楼*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 校验 sql 语句 表字 段名 方法 以及 计算机 设备
【权利要求书】:

1.一种校验Sql语句中库表字段名的方法,其特征在于:包括:

步骤1、将数据库的元数据读入缓存;

步骤2、接收请求参数,并将Sql语句进行解析,若是解析失败,则返回错误信息;否则解析得到所需校验的数据,所述所需校验的数据包括库表名集合以及字段名集合,所述库表名集合包括数据库名以及表名,所述库表名集合以及字段名集合中的元素通过分隔符进行分隔;所述请求参数包括Sql语句以及默认选择的数据库;

步骤3、根据分隔符对库表名集合进行分割,分割成数组;若数组长度为1,则只有表名,数据库为默认选择的数据库,若默认选择的数据库为空,则返回错误信息;若默认选择的数据库不为空,则该表名对应的数据库为默认选择的数据库;若数组长度大于等于2,则获取数组倒数第二个元素,即为数据库名;获取数据倒数第一个元素,即为表名;

根据数据库名查询缓存元数据,如果未查到,则Sql语句中数据库名错误,返回错误信息;如果查到,则根据该数据库名查询表名,如果表名不存在,则说明表名在该数据库中不存在,返回错误信息;如果表名存在,则进入下一步;

根据分隔符对字段名集合进行分割,分割成数组,如果数组长度为2,则数组第一个元素为表名,第二个元素为字段名,数据库为默认选择的数据库;如果数组长度大于等于3,则数组的倒数第三个元素为库名,倒数第二个元素为表名,倒数第一个元素为字段名;

如果字段名的值为特殊符号*,则表示获取对应表名下的所有字段,则直接校验通过;否则进行下一步;

如果表名为UNKNOWN,则获取库表名集合中的所有字段名,判断所有字段名中是否包含该字段名,如果有包含,则校验通过,如果没有包含,则校验失败,返回错误信息;

如果表名不为UNKNOWN,根据数据库名查询缓存元数据,获取到对应数据库中表的所有字段集合,判断字段集合中是否包含所述字段名,如果包含,则校验通过,否则校验失败。

2.根据权利要求1所述的一种校验Sql语句中库表字段名的方法,其特征在于:所述元数据包括数据库名、表名以及字段,所述数据库名、表名以及字段为统一大写字母或小写字母。

3.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:

步骤1、将数据库的元数据读入缓存;

步骤2、接收请求参数,并将Sql语句进行解析,若是解析失败,则返回错误信息;否则解析得到所需校验的数据,所述所需校验的数据包括库表名集合以及字段名集合,所述库表名集合包括数据库名以及表名,所述库表名集合以及字段名集合中的元素通过分隔符进行分隔;所述请求参数包括Sql语句以及默认选择的数据库;

步骤3、根据分隔符对库表名集合进行分割,分割成数组;若数组长度为1,则只有表名,数据库为默认选择的数据库,若默认选择的数据库为空,则返回错误信息;若默认选择的数据库不为空,则该表名对应的数据库为默认选择的数据库;若数组长度大于等于2,则获取数组倒数第二个元素,即为数据库名;获取数据倒数第一个元素,即为表名;

根据数据库名查询缓存元数据,如果未查到,则Sql语句中数据库名错误,返回错误信息;如果查到,则根据该数据库名查询表名,如果表名不存在,则说明表名在该数据库中不存在,返回错误信息;如果表名存在,则进入下一步;

根据分隔符对字段名集合进行分割,分割成数组,如果数组长度为2,则数组第一个元素为表名,第二个元素为字段名,数据库为默认选择的数据库;如果数组长度大于等于3,则数组的倒数第三个元素为库名,倒数第二个元素为表名,倒数第一个元素为字段名;

如果字段名的值为特殊符号*,则表示获取对应表名下的所有字段,则直接校验通过;否则进行下一步;

如果表名为UNKNOWN,则获取库表名集合中的所有字段名,判断所有字段名中是否包含该字段名,如果有包含,则校验通过,如果没有包含,则校验失败,返回错误信息;

如果表名不为UNKNOWN,根据数据库名查询缓存元数据,获取到对应数据库中表的所有字段集合,判断字段集合中是否包含所述字段名,如果包含,则校验通过,否则校验失败。

4.根据权利要求3所述的一种计算机设备,其特征在于:所述元数据包括数据库名、表名以及字段,所述数据库名、表名以及字段为统一大写字母或小写字母。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星瑞格软件有限公司,未经福建星瑞格软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810116384.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top