2011-02-11 50 views
0

我有以下的ant代码:蚂蚁DB2备份不进行连续

<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备份运行的位置,但蚂蚁立即完成“hello”回显,不等待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行窗口下打开的事实。我也尝试使用带有spawn属性的执行错误(这是默认情况下,我认为无论哪种方式),但仍然没有运气,任何想法?

+0

好像是/ W国旗制作的。 – Tiberiu 2011-02-23 04:06:56

回答

1

如果DB2实用程序位于PATH中,那么您将以具有足够特权的用户身份运行这些命令,并且您正确设置了DB2INSTANCE环境,您不应该需要db2cmd或任何其他中间命令。你可以简单地运行实际的备份命令。

此外,我可能要指出的是,你的数据库的任何活动连接将阻止命令在任何情况下运行。也许你可能想在你的备份命令之前添加“force all all”或“quiesce database”。 (还记得如果你走那条路线,就不会觉得奇怪。)

+0

是的,那当然需要静默/不平静,我能用/ W解决。谢谢 – Tiberiu 2011-02-23 04:09:15