2016-05-25 4 views
0

Поддерживает ли поддержка весенней партии выполнение скриптов sql как часть таска? Ниже приведена последовательность шагов, которые я планирую разработать с весенней периодичностью.Весенний пакетный запуск sql-скрипта как tasklet

Для шага 2 и 4 мне нужно выполнить последовательность операторов sql в последовательности. Как я могу выполнить запуск sql-скрипта?

  1. Чтение CSV-файлов и проверить содержимое
  2. , если действительное содержание, выполнение SQL-скрипт, который сбрасывают существующие таблицы, и повторно создавать таблицы, индекс и т.д.
  3. Выполнить операции писателя, чтобы вставить данные в Таблица.
  4. Выполнить последовательность хранимых процедур, описанных в файле .sql.
+0

на шаг 4 вы могли бы пойти со стандартной обработкой порции, FileReader считывает хранимые процедуры , писатель исполняет их –

ответ

1

Хотя я не считаю, что Spring Batch специально поддерживает то, о чем вы просите, вы можете взглянуть на ScriptUtils, чтобы узнать, обеспечивает ли он поведение, которое вы ищете.

Если нет, в зависимости от сложности вашего SQL есть возможность использования JdbcTemplate непосредственно в Tasklet и создать серию Tasklets

+0

Спасибо Райан. Вы подошли для меня хорошо. Но, однако, ScriptUtils запускает хранимую процедуру. Но, я не вижу способа использовать возврат, когда все обновления возвращаются. – santosh

+0

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

+0

Спасибо Ryan. Я буду следить за вашим adrive – santosh

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