任何validationSQL语法的Java库?

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

我想知道是否有任何可用于validationSQL查询语法的Java库。 我知道有许多偏离常规的SQL规范,所以它可能只会对像SQL:2006这样的工作,但这当然就够了。

我的目标是将其用于unit testing目的,而不需要尝试针对数据库执行操作。 我知道这是有限的使用,但它仍然是有用的。

谢谢!

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

一个可能的解决scheme是使用像SmallSQL这样的开源纯Java DBMS的一部分 。 在这个项目中,你可以创build一个SQLParser的实例。 所需的连接参考可以很容易地删除。

一般的SQLparsing器可以做离线的SQL语法检查 。 支持的数据库:Oracle,DB2,MySQL,SQL Server,Teradata和PostgreSQL。

也许你可以使用Antlr,它有一些SQL语法和一个Java库 ,以及各种Java IDE的插件。

或者按照build议,使用SQuirreL SQL Client等开源SQL实用程序的parsing器。

SQL4J是用Java编写的SQLparsing器。

http://www.cs.toronto.edu/~jglu/sql4j/index.htm

有了JOOQ,你将永远不会犯SQL错误。 Java编译器会照顾到这一点。

试试JSQLparsing器 。

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

您可能能够从HSQL (这是java和开源代码)中提取parsing代码。

Apache Derby是一个开源SQL数据库,完全用Java实现,可以在Apache许可证2.0版本下使用。 它以前被称为IBM Cloudscape 。

你可以尝试重用它parsing来自org.apache.derby.impl.sql的代码。