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

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...