ant db2备份不是按顺序进行的

ant db2备份不是按顺序进行的,ant,db2,Ant,Db2,我有以下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

我有以下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备份正在运行,但是ant立即以“hello”echo结束,并且不等待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行窗口下打开。我还尝试在false上使用exec with spawn属性(我认为这是默认值),但仍然没有运气,有什么想法吗?

如果DB2实用程序在PATH中,那么您是以拥有足够特权的用户身份运行命令,如果正确设置了DB2INSTANCE环境,则不需要db2cmd或任何其他中间命令。您只需运行实际的备份命令即可


我可能还想指出,任何与数据库的活动连接都会阻止命令在任何情况下运行。您可能希望在备份命令之前添加“强制应用程序全部”或“静止数据库”。(如果你走那条路,还记得取消静止。)

似乎是/W flag造成的。是的,需要停止/取消静止。当然,我可以用/W解决。谢谢