3

大约一个月前,我构建了一个使用 zSQL 作为 SQL 解析器来解析 sql 的应用程序。然而,就在几天前,一位重任用户发送了一条 zSQL 不支持的多行插入语句。这是示例:

INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
UNION ALL
SELECT 'Fourth' ,4
UNION ALL
SELECT 'Fifth' ,5

然后我找到了这个链接:http ://weblogs.java.net/blog/2008/11/23/stand-alone-sql-parser-java,上面写着“通过简单的修复,Rick Hillegas 确保开发人员可以拥有访问 Apache/Derby 附带的强大的 SQL 解析器”。但是,我找不到任何相关文档来实现这一点。

任何的想法?

4

2 回答 2

2

您是否尝试单击 java.net 上该帖子中的“简单修复”链接?第一条评论显示了如何运行该工具。如果您阅读ASTParser.java 的代码,您可以看到使用解析器需要编写的代码。

于 2010-11-10T12:27:23.720 回答
0

您提供的链接使用 Derby 的内部 API,它还需要 Derby 的调试版本。

从版本 10.10 开始,它仍然不能用作通用 SQL 解析器,因为它需要 SQL 中的表存在 - 这不是一个好迹象,表明它们的解析器足够独立,可以用作解析器!(总的来说,这是一个令人担忧的迹象,表明他们的架构很糟糕)

于 2012-11-15T01:42:05.437 回答