2010-04-05 2 views
1

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

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

Строка sql = "select * from test где name =" + test + "и age =" + age;

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

т.е. выберите * из теста, где name = "name" и age = "age"

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

Я объясню я вопрос не ясно

ответ

2

В целях повышения производительности и безопасности вы должны использовать PreparedStatement.bind (...), а не конкатенации строить ваши строки SQL.

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

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

0

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

Смежные вопросы