首页 > 解决方案 > 如何获取 db2cmd 运行的 DB2 命令的输出?

问题描述

我编写了一个 Go cli 程序并使用 Windows cmd 运行它。然后它执行以下命令:

db2cmd -c DB2 RESTORE DATABASE DMSCNDB FROM "C:/DB" TAKEN AT 20180522033009 ON C: INTO DMSCNDB  WITHOUT PROMPTING

这是我使用的 Go 代码:

cmd := exec.Command("db2cmd", "-c", arg)
buf, err := cmd.Output()
if err != nil {
    log.Fatalf("Failed restoring backup with error: %s\r\n", err)
} else {
    log.Printf("Successfully restored backup with command output: %s\r\n", buf)
}

一切正常,除了db2cmd. 有没有办法得到它的输出?如何获得运行的 DB2 命令的输出db2cmd

谢谢!

标签: gocmddb2

解决方案


我在这里找到了答案:https ://www.ibm.com/support/knowledgecenter/en/SSEPGG_10.5.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0002036.html

因此,只需使用如下-i参数:

cmd := exec.Command("db2cmd", "-i", arg)
buf, err := cmd.Output()
if err != nil {
    log.Fatalf("Failed restoring backup with error:\r\n%s\r\n", err)
} else {
    log.Printf("Successfully ran command with output:\r\n%s\r\n", buf)
}

推荐阅读