加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 18:11:28 所属栏目:百科 来源:网络整理
导读:我已经安排运行SSIS包的sql代理任务.我想要能够从.net运行SSIS包.有没有办法直接运行SSIS包,或至少运行SQL代理任务,反过来运行SSIS包. 如果它有助于一个.net 3.5 Web应用程序写入C# 谢谢! 解决方法 可用于运行SSIS包的选项是 – 使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读