.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

posted on 2012-03-28 15:38  larryle  阅读(2205)  评论(0)    收藏  举报