我正在通过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