描述:
制作好的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
浙公网安备 33010602011771号