我正在通過DTUTIL將SSIS包從一個SQL服務器複製到另一個C#程序中。這些軟件包位於MSDB中。用C#獲取SSIS包名稱
string dtutilCmd = "/c DTUTIL /SOURCESERVER " + sourceServer + " /SQL " + myPackage + " /DestServer " + destServer + " /COPY " + myPackage;
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = dtutilCmd;
process.StartInfo = startInfo;
process.Start();
在dtutilCmd
字符串變量都是字符串。問題是當我的用戶輸入軟件包名稱時,他們可能會遇到錯誤的情況。他們可能會編寫MYPACKAGE
,因此將其部署爲MYPACKAGE
,即使它在源服務器上實際存在爲MyPackage
,我仍想保留它。
所以我想以某種方式獲取包名稱,並將其填充到我的dtutilCmd
字符串的最後部分。
得到這個工作。對於未來的人來說,代碼不會完全工作,需要相當多的調整,但解決方案是合法的。 – coinbird