如何从 C# 执行多个 ssis 包 [英] how to execute multiple ssis packages from c#

查看:50
本文介绍了如何从 C# 执行多个 ssis 包的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了 10 个不同的包,我想从 c# 编码中执行它们.有人可以发布一些屏幕截图来实现这一目标.我试过这个

I have created 10 different packages and i want to execute them from c# coding. Can some one post some screen shots to achieve this. I have tried this

Application app = new Application();
        TraceService("loading system From File system");
        //Create package Container to hold the package.
        //And Load the Package Using the Application Object.
        Package package = app.LoadPackage(@"C:\User\Kiran\Documents\Visual Studio 2012\Projects\WindowsServiceTest\WindowsServiceTest\Package1.dtsx", null);

        TraceService("Execution Started");
        DTSExecResult result = package.Execute();
        // print the result
        TraceService(result.ToString());
        TraceService("Execution Completed");

这里我必须在运行时获取文件名,而不是通过硬编码

Here i have to get the file name in run time not by hard coding

推荐答案

从 C# 和 VB 执行的 SSIS 包在 官方网站.这是我在脚本任务中执行多个 SSIS 包的完整代码.

The executing SSIS package from C# and VB is well documented in official site. This is my complete code in script task to execute multiple SSIS packages.

string packagesFolder = Dts.Variables["User::packagesFolder"].Value.ToString();
string rootFolder = Dts.Variables["User::rootFolder"].Value.ToString();

Package pkg;
Microsoft.SqlServer.Dts.Runtime.Application app;
DTSExecResult pkgResults;

foreach (var pkgLocation in Directory.EnumerateFiles(packagesFolder+"\\", "ValidateDataMigration-*.dtsx"))
{
    try
    {
        app = new Microsoft.SqlServer.Dts.Runtime.Application();
        pkg = app.LoadPackage(pkgLocation, null);
        pkgResults = pkg.Execute();

        File.AppendAllText(rootFolder + "\\DataValidationProgress.log", pkgLocation.ToString()+"=>"+ pkgResults.ToString()+ Environment.NewLine);
    }
    catch(Exception e)
    {
        File.AppendAllLines(rootFolder + "\\DataValidationErrors.log", new string[] { e.Message, e.StackTrace });
    }
}

这篇关于如何从 C# 执行多个 ssis 包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆