如何使用javadb作为sql解析器

时间:2010-11-10 10:34:03

标签: java sql javadb

大约一个月前,我构建了一个使用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解析器”。但是,我无法找到任何相关文档来实现这一目标。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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