Как использовать javadb в качестве парсера sql - PullRequest
3 голосов
/ 10 ноября 2010

Около месяца назад я создал приложение, которое использовало 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 ".Тем не менее, я не могу найти соответствующую документацию для достижения этой цели.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 10 ноября 2010

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

0 голосов
/ 15 ноября 2012

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

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

...