描述:

制作好的SSIS包如何去执行,一般有以下几种方式:

1、采用sql server 的代理,定时自动执行。

2、利用vb/c#程序调用SSIS包,及包配置文件执行。

我较倾向于第二种,实现起来较灵活些,当然了这些要看实际情况具体来定。

以下我介绍如何在VS中使用程序执行SSIS包。

step1:添加引用(Microsoft.SQLServer.ManagedDTS)

它是一个.net程序集framework 2.0默认安装有但是需要添加进项目中。

step2:引用命名空间(using Microsoft.SqlServer.Dts.Runtime)

step3:编写执行方法 (本例为web项目中实现)

 //执行单个包单个配置文件
        public int RunDtsPackage(string sPackagePath,string sConfigPath)
        {
            Application app = new Application();
            Package p = app.LoadPackage(sPackagePath, null);
            p.ImportConfigurationFile(sConfigPath);
            if (p.ExecutionResult == DTSExecResult.Success)
            {
                return 1; //Success Run DTS Package
            }
            else
            {
                return 0;
            }       
        }

step4:调用

  protected void Button1_Click(object sender, EventArgs e)
        {
            string sPackagePath = Server.MapPath("/DTSPackage/D公共维度信息.dtsx");
            string sPackageConfigPath = Server.MapPath("/DTSPackage/公共维度.dtsConfig");
            if (RunDtsPackage(sPackagePath, sPackageConfigPath) == 1)
            {
                Response.Write("success");
            }
            else
            {
                Response.Write("fail!");
            }
        }

step5:结束

待完善的功能:

1、路径的验证(包是否存在未验证)

2、包调用包如何做配置文件(路径不能取得应用程序部署的目录)

3、安全问题(访问权限的问题未考虑)

高手看到此贴请回帖给建议或给我EMAIL(ZENGXZ_MR@163.COM)

 posted on 2010-02-10 15:00  听风戏水  阅读(876)  评论(1)    收藏  举报