尝试执行时如何知道 SSIS 运行 包问题
How to know SSIS run package issue when trying to execute
我尝试使用这段代码 运行 SSIS:
public class EjecutaPaquete {
private Microsoft.SqlServer.Dts.Runtime.Package pkgPaquete;
private Application appAplicacion;
public DTSExecResult EjecucionPaquete(string str_Paquete, List < CatVariablesEtl > Vars = null) {
DTSExecResult respuesta;
try {
appAplicacion = new Application();
appAplicacion.PackagePassword = "mypass";
pkgPaquete = appAplicacion.LoadPackage(str_Paquete, null);
foreach(CatVariablesEtl item in Vars) {
pkgPaquete.Variables[item.str_NombreVariable.ToString()].Value = item.str_ValorVariable.ToString();
}
respuesta = pkgPaquete.Execute();
return respuesta;
} catch (Exception ex) {
throw new NotImplementedException();
}
}
它正确地将所有变量读入 foreach,问题是当尝试先执行包 respuesta = pkgPaquete.Execute();
时它 return succeeded
但是当它 return "respuesta"它得到 failure
您可以从 package.Errors
属性 中读取错误:
代码示例:
foreach(DtsError item in package.Errors) {
Console.Writeline(item.description);
}
我尝试使用这段代码 运行 SSIS:
public class EjecutaPaquete {
private Microsoft.SqlServer.Dts.Runtime.Package pkgPaquete;
private Application appAplicacion;
public DTSExecResult EjecucionPaquete(string str_Paquete, List < CatVariablesEtl > Vars = null) {
DTSExecResult respuesta;
try {
appAplicacion = new Application();
appAplicacion.PackagePassword = "mypass";
pkgPaquete = appAplicacion.LoadPackage(str_Paquete, null);
foreach(CatVariablesEtl item in Vars) {
pkgPaquete.Variables[item.str_NombreVariable.ToString()].Value = item.str_ValorVariable.ToString();
}
respuesta = pkgPaquete.Execute();
return respuesta;
} catch (Exception ex) {
throw new NotImplementedException();
}
}
它正确地将所有变量读入 foreach,问题是当尝试先执行包 respuesta = pkgPaquete.Execute();
时它 return succeeded
但是当它 return "respuesta"它得到 failure
您可以从 package.Errors
属性 中读取错误:
代码示例:
foreach(DtsError item in package.Errors) {
Console.Writeline(item.description);
}