.net中执行dtsx文件
执行之前引用 using dts = Microsoft.SqlServer.Dts.Runtime;
/// <summary>
/// Dtsx包执行
/// </summary>
/// <param name="path">包路径</param>
private void Executepackage(string path)
{
string message = null;
//创建一个DTS执行用应程序
dts.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
//新建一个包
dts.Package package = new Microsoft.SqlServer.Dts.Runtime.Package();
//加载一个包
package = app.LoadPackage(path, null);
//给包变量赋值
//if (package.Variables.Contains("filePath"))
//{
// package.Variables["filePath"].Value = @"d:\SSIS包路径测试.txt";
//}
//执行包
dts.DTSExecResult result = package.Execute();
//获取包的执行信息
if (result.Equals(dts.DTSExecResult.Failure))
{
for (int i = 0; i < package.Errors.Count; i++)
{
message += package.Errors[i].Description;
}
}
if (result.Equals(dts.DTSExecResult.Success))
{
message = "执行成功";
}
else
{
message = "执行失败";
}
alert(path.Substring(path.LastIndexOf(@"\"), path.Length - path.LastIndexOf(@"\")) + "__" + message);
}
#endregion