gpt4 book ai didi

c# - 您可以从 .net 运行 SSIS 任务吗?

转载 作者:可可西里 更新时间:2023-11-01 09:07:49 24 4
gpt4 key购买 nike

我已经安排了运行 SSIS 包的 sql 代理任务。我希望能够从 .net 运行 SSIS 包。有没有办法直接运行 SSIS 包或至少运行 SQL 代理任务,后者又会运行 SSIS 包。

如果对用 C# 编写的 .net 3.5 网络应用有帮助的话

谢谢!

最佳答案

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

  • 使用 SSIS 对象模型以编程方式运行包。联机丛书中对此进行了详细讨论 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# - 您可以从 .net 运行 SSIS 任务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1237591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com