我不确定这是否存在,所以我想我会利用别人的智慧..
我想知道是否有任何 Java 库可用于验证 SQL 查询的语法。我知道与常见的 SQL 规范有很多偏差,所以它可能只适用于 SQL:2006 之类的东西,但这当然就足够了。
我的目标是将其用于单元测试目的,而无需尝试对数据库执行。我知道它的用途有限,但它仍然有用。
谢谢!
也许你可以使用 Antlr,它有许多SQL 语法和一个Java 库,以及各种 Java IDE 的插件。
或者按照建议,使用SQuirreL SQL Client等开源 SQL 实用程序的解析器。
通用 SQL Parser可以进行离线 SQL 语法检查。支持的数据库:Oracle、DB2、MySQL、SQL Server、Teradata 和 PostgreSQL。
我不认为有这样的图书馆。SQL 语法有太多的派生词。
一个可能的解决方案是使用像SmallSQL这样的开源纯 Java DBMS 的一部分。在这个项目中,您可以创建SQLParser的实例。可以很容易地删除所需的连接引用。
试试JSQL 解析器。
除了验证之外,您还可以获得查询的有意义的表示。
例如,这允许您只接受“某些”命令;操纵
查询,“美化”它等。
您也许可以从HSQL中提取解析代码,它是 java 和开源的。
Apache Derby是一个完全用 Java 实现的开源 SQL 数据库,可在Apache 许可证 2.0 版下使用。它以前称为IBM Cloudscape。
您可以尝试重用它从org.apache.derby.impl.sql
.
使用JOOQ,您将永远不会在 SQL 中出错。Java 编译器会处理这个问题。