作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个应用程序,无论何时将文件上传到目录,我都必须调用 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/
我是一名优秀的程序员,十分优秀!