微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/csharp/96268.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐