代码如下,需引用“Microsoft.SqlServer.Managed-DTS”
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 packet
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (this.openFileDialog1.ShowDialog().Equals(DialogResult.OK))
{
Excutepackage(this.openFileDialog1.FileName);
}
}
private void Excutepackage(string path)
{
//新建dts执行程序
dts.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
//新建一个包
dts.Package pack = new Microsoft.SqlServer.Dts.Runtime.Package();
//加载一个存在的包
pack = app.LoadPackage(path,null);
//给变量赋值
if (pack.Variables.Contains("sql"))
{
pack.Variables["sql"].Value = @"abcd";
}
else
{
MessageBox.Show("不存在sql变量");
return;
}
//执行包
dts.DTSExecResult result = pack.Execute();
if (result.Equals(dts.DTSExecResult.Success))
{
MessageBox.Show("成功");
}
}
}
}