Может ли IBM Data Studio запустить командный файл DB2

Я обновляю IBM DB2 9.5 до DB2 11.1. Я использую клиентское программное обеспечение DB2 9.5 для запуска ряда команд для экспорта данных. Смотрите фрагмент кода ниже. Есть ли способ выполнить подобную команду с использованием IBM Data Studio 4.1.2 на клиентской рабочей станции? Мне нужно иметь возможность автоматизировать экспорт и не нужно вручную сохранять выбранные результаты.

Заранее благодарю за любую помощь.

CONNECT TO dbName USER "myuser" USING "myPW";
EXPORT TO "C:\out\outData.csv" OF DEL 
  MESSAGES  "C:\out\msg.log" 
  SELECT * FROM XX.tablename T
    WHERE T.flag IS NULL;
Commit;
CONNECT RESET;

1 ответ

Решение

Реальный вопрос заключается в том, почему вы хотите использовать DataStudio для автоматизации команд, потому что это не является его сильной стороной.

Есть ли какая-то причина, по которой ваши существующие сценарии не будут работать без изменений на Db2 v11.1? Скорее всего, вы будете обновлять свои рабочие станции / ноутбуки с помощью клиента Db2 v11.1, если вы мудры. Если вы хотите полной автоматизации, включая планирование, то, на мой взгляд, DataStudio - не правильный выбор.

Помимо вышесказанного, ниже приводится ответ на вопрос "как запустить экспорт в скрипте в data-studio".

Data-Studio написана на Java, поэтому использует jdbc для отправки SQL в базу данных.

Когда сценарий содержит команды (такие как экспорт, импорт и т. Д.), Сценарий необходимо изменить, поскольку они не являются SQL-кодами, поэтому их необходимо заключить в вызов хранимой процедуры ADMIN_CMD, а все пути и файлы относятся к сервер и не по отношению к клиенту, как с вашим текущим сценарием. Вы можете прочитать о sysproc.admin_cmd в документации и увидеть примеры там.

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

Короче говоря, если вы хотите, чтобы ваши экспортированные файлы продолжали находиться на рабочей станции (или на стороне клиента Db2), тогда проще поддерживать ваши текущие сценарии и автоматизировать их.

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