c# - 如何从 .NET 以编程方式调用 SSIS?

标签 c# .net sql-server ssis

我有一个应用程序,无论何时将文件上传到目录,我都必须调用 SSIS 来解析 XML 文件。

我可以直接从 .NET Windows 服务调用 SSIS 吗?

最佳答案

Running SSIS package programmatically

我更喜欢第二种方法:

启动 DTEXEC.EXE 进程。 DTEXEC 是用于执行 SSIS 包的命令行实用程序。在此处查看其命令行选项:http://msdn2.microsoft.com/en-us/library/ms162810.aspx

好处:在进程外运行包可提高可靠性。可用于任何编程语言(包括 .NET 1.1 :))。通过设置变量值轻松传递参数。

缺点:也仅限本地。更难获得有关包进度的信息(但 SSIS 日志记录可以为您提供大部分功能)。启动新进程的一些开销(与大包的执行时间相比可能是最小的)。

特定于 ASP.NET:Win32 CreateProcess 函数忽略线程模拟。因此,如果您希望 DTEXEC 在不同于 ASP.NET 进程帐户的帐户下运行,您应该让用户输入名称/密码并将其传递给 Process.Start,或者使用以下 KB 中描述的方法在模拟帐户 http://support.microsoft.com/kb/889251 下运行子进程.

关于c# - 如何从 .NET 以编程方式调用 SSIS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/175505/

相关文章:

c# - 通用委托(delegate) C#

c# - 在 WCF 服务中时为 "unreachable code detected"

c# - PetaPoco.Database 实现了 IDisposable,那么为什么大多数示例没有 'using' 语句?

.net - 如何在 .net x64 中保存/加载 16 位图像?

c# - Pushsharp 支持 Apple Push Notification Authentication Key

c# - 循环回到开始

.net - 为什么 .NET framework 3.5 离线安装程序比 .NET 4 离线安装程序大 200 MBps?

sql-server - 获取临时表的结构(如生成sql脚本)并清除当前实例的临时表

sql-server - 连接到sql server azure vm power query

mysql - 将 MSSQL 函数转换为 MySQL 函数