Как использовать javadb в качестве парсера sql

Около месяца назад я создал приложение, которое использовало 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, говорится: «С помощью простого исправления Рик Хиллегас обеспечил разработчиков доступом к мощному синтаксическому анализатору SQL, поставляется с Apache/Derby". Однако я не могу найти соответствующую документацию для достижения этого.

Любая идея?


person Reusable    schedule 10.11.2010    source источник


Ответы (2)


Вы пытались щелкнуть ссылку «простое исправление» в этом сообщении на java.net? Первый комментарий показывает, как запустить инструмент. Если вы прочитаете код ASTParser.java, вы увидите код, который вам нужно написать, чтобы использовать парсер.

person Tom Anderson    schedule 10.11.2010
comment
@hemu: Опубликуйте это как новый вопрос. Это не место для обсуждения этого. - person Tom Anderson; 09.08.2012

В приведенной вами ссылке используются внутренние API-интерфейсы Derby, для нее также требуется отладочная версия Derby.

Начиная с версии 10.10, его по-прежнему нельзя использовать в качестве общего синтаксического анализатора SQL, поскольку он требует существования таблиц в SQL — нехороший признак того, что их синтаксический анализатор достаточно отделен для использования в качестве синтаксического анализатора! (И вообще тревожный признак того, что архитектура у них хреновая)

person user1244215    schedule 15.11.2012