The invention provides a SQL sentence detection method, which comprises converting the detected SQL sentence into a syntax tree, matching the syntax tree with the preset rules in the rule library, generating the matching result, and generating the detection report based on the matching result. The use of matching rules and SQL statements into the default syntax tree, test specification and performance of the SQL statement, and generate test report, to avoid the artificial detection caused by the omission or review of the SQL statement is not accurate, and greatly improves the efficiency of detection of SQL statements, more accurate and reliable.
【技术实现步骤摘要】
一种SQL语句检测方法及系统
本专利技术涉及计算机
,尤其涉及一种SQL语句检测方法及系统。
技术介绍
SQL语句(StructuredQueryLanguage,结构化查询语言)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。当前,程序中用到的SQL语句会在提交版本前发送到DBA(DatabaseAdministrator,数据库管理员)进行评审,DBA根据企业的数据库开发规范以及自身的经验,对SQL语句的规范和性能进行评估,而后给出修改意见。在这个过程会存在一些问题,比如DBA就要花费很多时间进行人工的审核,可能会出现遗漏的情况,或评审不准确。
技术实现思路
有鉴于此,本专利 ...
【技术保护点】
一种SQL语句检测方法,其特征在于,包括:将待检测SQL语句转换为语法树;将所述语法树与规则库中的预设规则进行匹配生成匹配结果;基于所述匹配结果生成检测报告。
【技术特征摘要】
1.一种SQL语句检测方法,其特征在于,包括:将待检测SQL语句转换为语法树;将所述语法树与规则库中的预设规则进行匹配生成匹配结果;基于所述匹配结果生成检测报告。2.如权利要求1所述的检测方法,其特征在于,还包括:当所述语法树无法与所述规则库中的规则进行匹配时,使用自定义库中的正则表达式与所述语法树进行匹配生成所述匹配结果。3.如权利要求1或2所述的检测方法,其特征在于,还包括:运行待检测软件生成运行日志;解析所述运行日志生成所述待检测SQL语句。4.如权利要求3所述的检测方法,其特征在于,所述解析所述运行日志生成所述待检测SQL语句包括:将所述运行日志分割为至少两个预设大小的分运行日志;解析每个所述分运行日志生成所述待检测SQL语句。5.如权利要求3所述的检测方法,其特征在于,所述解析所述运行日志生成所述待检测SQL语句包括:解析所述运行日志生成待分类SQL语句;分类所述待分类SQL语句生成所述待检测SQL语句。6.一种SQL语句检测系统,其特征在于,包括:转换模块,所述转换模块用于将待检测SQL语句转换为语法树;匹...
【专利技术属性】
技术研发人员:魏薇,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。