那些验证SQL语法的Java库?

时间:2008-09-26 19:43:30

标签: java sql syntax

我不确定这是否存在,所以我想我会挖掘别人的智慧..

我想知道是否有可用于验证SQL查询语法的Java库。我知道有很多偏离常见的SQL规范,所以它可能只会对SQL:2006这样的东西起作用,但这肯定就足够了。

我的目标是将其用于单元测试目的,而无需尝试针对数据库执行。我知道它的用途有限,但它仍然有用。

谢谢!

7 个答案:

答案 0 :(得分:7)

也许您可以使用Antlr,它有许多SQL grammarsJava library,以及各种Java IDE的插件。

或者根据建议,使用开源SQL实用程序的解析器,如SQuirreL SQL Client

答案 1 :(得分:5)

General SQL Parser可以offline SQL syntax check。支持的数据库:Oracle,DB2,MySQL,SQL Server,Teradata和PostgreSQL。

答案 2 :(得分:3)

我认为没有这样的图书馆。 SQL语法有太多的衍生物。

一种可能的解决方案是使用开源纯Java DBMS的一部分,如SmallSQL。在此项目中,您可以创建SQLParser的实例。可以非常轻松地删除对连接所需的引用。

答案 3 :(得分:2)

尝试JSQL parser

除了验证之外,您还可以获得有意义的查询表示 例如,这允许您只接受“某些”命令;操纵
查询,“美化”它等等。

答案 4 :(得分:1)

您可以从HSQL中提取解析代码,这是java和开源。

答案 5 :(得分:1)

Apache Derby是一个完全用Java实现的开源SQL数据库,可在Apache License, Version 2.0下使用。它以前称为IBM Cloudscape

您可以尝试重用org.apache.derby.impl.sql中的解析代码。

答案 6 :(得分:0)

使用JOOQ,您永远不会在SQL中犯错误。 Java编译器将负责这一点。