Вопрос

Мы планируем мигрировать нашу БД в Oracle. Мы должны вручную проверить каждый из встроенных SQL работает в Oracle поскольку несколько могут следовать разным правилам SQL. Теперь моя потребность очень проста.

Мне нужно просматривать файл, который может содержать такие запросы.

Строка SQL = "Выберите * из теста, где name =" + тест + "и возраст =" + возраст;

Есть почти 1000 файлов, и каждый файл имеет различные варианты запросов, подобных этому, где я должен сбросить один запрос, который я сделал через скрипт Unix. Но мне нужно преобразовать эти запросы на основе Java для совместимых в Oracle.

т.е. Выберите * от теста, где имя = «имя» и возраст = «возраст»

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

Я объясню больше, я вопрос не понятен

Это было полезно?

Решение

Для производительности и по соображениям безопасности вы должны использовать подготовленные аппараты. SIND (...), а не конкатенация строки для создания строк SQL.

Я не знаю способа решения этой проблемы, кроме исправления кода, который должен быть исправлен. Если вы сможете найти общие шаблоны, вы можете автоматизировать некоторые из редактирования, используя поиск / замену или SED или какой-то другой инструмент, если вы разрабатываете результат, прежде чем его проверять.

Если есть тысячи файлов, я думаю, что есть разумная размерная команда, которая построила код таким образом. Кажется, что справедливо поделиться работой нагрузкой среди людей, которые построили систему, а не выбросить все это на одного человека. В противном случае вы получите «SQL Fixing Guy», и никто другой в команде не будет иметь никакого стимула для записи SQL Code более портативный путь.

Другие советы

Ваше текущее приложение выполняет SQL через общий класс? Не могли бы вы добавить несколько ведений, чтобы распечатать RAW SQL в этом общем классе? Из этого вывода вы можете написать небольшой скрипт для запуска каждого оператора против Oracle.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top