Java SQL Синтаксический Переводчик

Есть ли надежная библиотека или пакет для Java, который может переводить из одного синтаксиса SQL в другой?

Я провел поиск в Google и нашел http://www.sqlines.com/online

Мне любопытно, есть ли что-то подобное, что я могу использовать программно, чтобы сделать как 500 запросов навалом. В частности, мне интересно перейти от Oracle к MariaDB.

2 ответа

Варианты SQL настолько экстремальны, что я сомневаюсь, что есть переводчик, который выполняет больше половины работы. И вам, возможно, придется внести много изменений в CREATE TABLE, И у Oracle есть множество функций, которых просто нет в MariaDB.

Итак... Вам лучше изучить оба варианта и заменить код вручную. Это может включать удаление старой кучи (хорошая вещь) и / или необходимость изобретать новые колеса (возможно, вызов).

Возможно, вы сможете использовать JOOQ. Он поддерживает множество бэкэндов, и недавно получил анализатор, который может анализировать расширенный набор диалектов, которые поддерживает jOOQ. В настоящее время он помечен как экспериментальный, но все же может быть полезен для одноразовой работы по переводу.

Вот документы для парсера: https://www.jooq.org/doc/3.10/manual/sql-building/sql-parser/

А вот онлайн-переводчик, с которым вы можете поэкспериментировать, чтобы убедиться, что он соответствует вашим потребностям: https://www.jooq.org/translate/

Он также поддерживает так называемое соединение для синтаксического анализа, которое является оболочкой для соединения JDBC, которое переводит SQL на ваш диалект на лету: https://www.jooq.org/doc/3.10/manual/sql-execution/parsing-connection/

Другие вопросы по тегам