sql查询验证器

时间:2010-08-03 08:10:01

标签: sql flex validation

在数据库中执行之前,是否有前端或任何语言的sql查询验证器用于验证查询语法?在我当前的项目中,我必须在flex之前验证sql查询,然后才能进入后端。它必须在击中数据库之前通过很多层,并且命中数据库并返回异常是一个过于昂贵的过程。因此我需要在前端的sql查询验证器至少说它是一个有效的查询。

2 个答案:

答案 0 :(得分:1)

对于运行时的SQL解析,您可以查看: SQL4J是一个用Java编写的SQL解析器。 http://www.cs.toronto.edu/~jglu/sql4j/index.htm

http://jsqlparser.sourceforge.net/

也许您可以使用Antlr,它有许多SQL语法。 http://www.antlr.org/grammar/list

或者根据建议,使用SQuirreL SQL Client等开源SQL实用程序的解析器。 http://squirrel-sql.sourceforge.net/

或使用开源纯Java DBMS的一部分,如SmallSQL。 http://www.smallsql.de/

Eclipse IDE插件用于验证IDE中的SQL。

退房: http://www.eclipse.org/datatools/

答案 1 :(得分:1)

您可以抓取SQL BNF grammar并使用parser generator验证输入。

我相信你必须调整标准语法,这不是微不足道的。 此外,我相信你可以找到更好的东西,但我希望上面的内容可以让你到达某个地方。