http://www.cnblogs.com/xuanfeng/archive/2008/06/30/1232543.html
1.相關DLL
相關命名空間包含在
Microsoft.SqlServer.ManagedDTS 中,此DLL包含在SQL SERVER安裝分驅的
\Program Files\Microsoft SQL Server\90\SDK\Assemblies目錄中
2.下面以代碼的方式實現以下內容:
A.建立一個包的執行應用程式
B.建立一個包
C.載入一個包
D.給包參數賦值
E.擷取包的執行資訊
F.Demo下載
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
//由於此命名空間有些成員跟其它命名空間有些衝突,因此替換一下
using dts=Microsoft.SqlServer.Dts.Runtime;
namespace WinSSIS
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (this.openFileDialog1.ShowDialog().Equals(DialogResult.OK))
{
this.textBox1.Text = this.openFileDialog1.FileName;
Executepackage(this.openFileDialog1.FileName);
}
}
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 = "其它1";
}
MessageBox.Show(message);
}
}
}