C#新的tablediff进程返回不正确的ExitCOde

问题描述

我正在开发使用tablediff和SSIS测试数据库的工具。 我已经创建了使用参数运行tablediff.exe并基于退出代码的脚本,我想设置脚本任务的失败或成功状态。

问题是我的进程返回退出代码2而不是0。在日志中,我可以看到比较的表是相同的,因此进程应该返回退出代码0。

这是我的代码

        string OutputFilePath = "C:\\TableValidation_Results\\";
        string OutputFileName = "TableValidation_" + DateTime.Today.ToString("yyyyMdd") + ".TXT";

        bool FailTask = false;

        Process process = new Process();
        processstartinfo startInfo = new processstartinfo();
        try
        {
            startInfo.WindowStyle = ProcessWindowStyle.normal;
            startInfo.FileName = FileName;
            startInfo.Arguments = "-sourceserver [" + SourceServer.ToString() + "] -sourcedatabase [" + SourceDatabase.ToString() + "] -sourceschema [" + SourceSchema.ToString() + "] -sourcetable [" + SourceTable.ToString() + "] -sourceuser [" + SourceUser.ToString() + "] -sourcepassword ['" + SourcePassword.ToString() + "'] -destinationserver [" + DestServer.ToString() + "] -destinationdatabase [" + DestDatabase.ToString() + "] -destinationschema [" + DestSchema.ToString() + "] -destinationtable [" + DestTable.ToString() + "] -destinationuser [" + DestUser.ToString() + "] -destinationpassword ['" + DestPassword.ToString() + "'] -et Differenc -o " + OutputFilePath.ToString() + OutputFileName.ToString();
            process.StartInfo = startInfo;
            process.Start();
            process.WaitForExit();
            if (process.ExitCode == 2 || process.ExitCode == 1)
            {
                FailTask = true;
            }
            else
            {
                FailTask = false;
            }
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            
        }

您是否知道如何获取正确的退出代码

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)