2016-11-05 50 views
0

我在asp.net是新的,並希望編寫代碼來運行sql serverdtexec爲目的編寫代碼:
爲什麼我在asp.net中的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. 


我該如何解決這個問題?謝謝大家。

+0

您的第二個和第三個'/' – TheValyreanGroup

回答

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中工作,它也不適用於你的代碼。

+0

之後有一個空格現在出現此錯誤:選項「set」的參數「」無效。 –

+0

我更新了我的答案,現在試試 –

+0

謝謝,但我得到這個錯誤:參數「」\ package.variables [FilePath] .Value;「」選項「set」無效。 –

相關問題