резервное копирование ant db2 не выполняется последовательно - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть следующий код ant:

<parallel>
    <sequential>
        <mkdir dir="${DB2BACKUP}/DB2BACKUP"/>
        <exec executable="db2cmd">
            <arg value="DB2 BACKUP DATABASE DB TO C:\DB2BACKUP\ WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1"/>
        </exec>
        <echo> hello </echo>
    </sequential>
</parallel>

, когда он выполняется, каталог создается, открывается другая командная строка, где выполняется резервная копия db2, но муравей завершает работу с "hellomsgstr "эхо немедленно и не ждет завершения резервного копирования db2.Я пробовал с

<exec executable="cmd">
    <arg value="/C"/>
    <arg value="db2cw"/>
    <arg value="DB2 BACKUP DATABASE DB TO C:\DB2BACKUP\ WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1"/>
</exec>

, но это то же самое, я думаю, что главная причина в том, что db2cmd открывается под отдельным окном строки cmd.Я также пытался использовать exec со свойством spawn для false (что по умолчанию, я думаю, в любом случае), но все равно не повезло, есть мысли?

1 Ответ

1 голос
/ 13 февраля 2011

Если утилиты DB2 находятся в PATH, вы запускаете команды как пользователь с достаточными привилегиями и правильно устанавливаете значение среды DB2INSTANCE, вам не требуется db2cmd или любая другая промежуточная команда.Вы можете просто выполнить фактическую команду резервного копирования.

Также я могу указать, что любое активное соединение с вашей базой данных в любом случае не позволит выполнить команду.Возможно, вы захотите добавить «force application all» или «quiesce database» перед вашей командой резервного копирования.(Также не забывайте, если вы идете по этому пути.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...