c# – 你可以从.net运行SSIS任务吗?

前端之家收集整理的这篇文章主要介绍了c# – 你可以从.net运行SSIS任务吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经安排运行SSIS包的sql代理任务.我想要能够从.net运行SSIS包.有没有办法直接运行SSIS包,或至少运行sql代理任务,反过来运行SSIS包.

如果它有助于一个.net 3.5 Web应用程序写入C#

谢谢!

解决方法

可用于运行SSIS包的选项是 –

>使用SSIS对象模型以程序方式运行程序包.这在Books Online here中有详细的讨论.

一个例子:

using System;
using Microsoft.sqlServer.Dts.Runtime;

namespace RunFromClientAppCS
{
    class Program
    {
        static void Main(string[] args)
        {
            string pkgLocation;
            Package pkg;
            Application app;
            DTSExecResult pkgResults;

            pkgLocation = "<package path>\CalculatedColumns.dtsx";
            app = new Application();
            pkg = app.LoadPackage(pkgLocation,null);
            pkgResults = pkg.Execute();

            Console.WriteLine(pkgResults.ToString());
            Console.ReadKey();
        }
    }
}

>启动DTEXEC.EXE进程. DTEXEC是用于执行SSIS包的命令行实用程序.请参阅其命令行选项here.
>使用sql代理.您可以配置代理作业以运行程序包(如果程序包是静态的,或者在运行程序包之前使用SMO或使用sql存储过程以编程方式手动执行),然后使用SMO或sp_start_job以编程方式启动它.
>使用一些其他实用工具为您启动DTEXEC.
>创建一个运行包的自定义应用程序(使用方法#1中描述的OM或方法#2中使用DTEXEC).将其作为Web服务或DCOM类,将其从您的程序中调用.
发明自己的:)

参考:Running SSIS Package Programmatically

猜你在找的C#相关文章