Runtime.getRuntime().exec("db2cmd -c -w -i db2 connect to test");
Runtime.getRuntime().exec("db2cmd -c -w -i db2 "+rsStr);
Runtime.getRuntime().exec("db2cmd -c -w -i db2 connect reset");
这种方法测试的结果是每个命令调用的dos程序不一样,不能在同一个dos程序中顺序执行上面的三个命令。
processbuilder我不知道怎么用,好像可以解决生成同一个dos里面顺序执行多条命令。
谁能给我说说。

解决方案 »

  1.   

    可否做成批來處理呢?
    將三個命令生成一個批處理
    再調用exec來執行
      

  2.   

    不行 rsStr是动态获得的 没法提前设置
      

  3.   


    System.Diagnostics.ProcessStartInfo FilestartInfo = new System.Diagnostics.ProcessStartInfo("db2cmd");
    FilestartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    FilestartInfo.Arguments = " -c -w -i db2 connect to test";
    System.Diagnostics.Process process = new System.Diagnostics.Process();
    process.StartInfo = FilestartInfo;
    process.Start();
    不知道这样行不行?
      

  4.   

    晕,搞错了,上面是.net的
    Runtime runtime = Rumtime.getRuntime();
    rumtime.exec("db2cmd -c -w -i db2 "+rsStr");
    这样使用的是同一个Runtime 对象