为什么我在asp.net中的dtexec命令中出错?

时间:2016-11-05 12:00:40

标签: asp.net

我是asp.net的新用户,想要为此目的编写运行sql server dtexec的代码,请写下以下代码:

System.Diagnostics.Process si = new System.Diagnostics.Process();
                si.StartInfo.WorkingDirectory = @"c:\";
                si.StartInfo.UseShellExecute = false;
                si.StartInfo.FileName = "cmd.exe";
                si.StartInfo.Arguments = "/C dtexec / f E:/Package.dtsx / set /package.variables[FilePath].Value; e:\testFile.txt";

                si.StartInfo.CreateNoWindow = true;
                si.StartInfo.RedirectStandardInput = true;
                si.StartInfo.RedirectStandardOutput = true;
                si.StartInfo.RedirectStandardError = true;
                si.Start();
                string output = si.StandardOutput.ReadToEnd();
                si.Close();


但是当我运行该代码时,会收到此错误:

Microsoft (R) SQL Server Execute Package Utility Version 12.0.2000.8 for 64-bit Copyright (C) Microsoft Corporation. All rights reserved. Option "/" is not valid. 


我怎么能解决这个问题?谢谢大家。

1 个答案:

答案 0 :(得分:1)

你应该从这一行删除空格,如:

si.StartInfo.Arguments = "/C dtexec /f E:\\Package.dtsx /set \\package.variables[FilePath].Value;e:\\testFile.txt"

您还应该能够在cmd.exe中运行命令:

dtexec /f e:\package.dtsx /set \package.variables[FilePath].Value;e:\testFile.txt

除非它在cmd中有效,否则它也无法通过您的代码工作。