从c#执行SSIS包

时间:2011-08-30 08:37:52

标签: c# winforms ssis

我必须创建一个Windows窗体应用程序,它将修改dts配置文件中存在的连接sring值,然后使用此更新的dts配置文件执行该包。

即使我添加以下代码行,它也没有采用更新的配置文件。

string packagePath = ConfigurationSettings.AppSettings["packagepath"].ToString();
Microsoft.SqlServer.Dts.Runtime.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
 Package package = app.LoadPackage(packagePath, null);
 package.ImportConfigurationFile(configPath);
 DTSExecResult dtsResult = package.Execute();

请帮助如何使用修改后的dts config执行包。

2 个答案:

答案 0 :(得分:2)

您需要使用.NET XMLDocument对象读取dtsConfig文件(XML文件),然后使用新值修改包含连接字符串的相应节点。

以下MSDN论坛中的示例显示了如何完成此操作:

Setting SSIS package properties programmatically

就个人而言,我使用数据库表来存储包配置值。我觉得这比xml配置文件(dtsconfig)更容易维护。

答案 1 :(得分:1)