c# - 在 C# 中以编程方式加载 SSIS 包

标签 c# sql-server ssis etl ssis-2012

我正在从我的应用程序中加载一个运行良好的 ssis 包。然而,我正在尝试解决并惨遭失败的是包在 1 秒内执行(这很好)但包的加载需要 9 秒。

在远程连接到 SQL Server 2014 实例的 visual studio 2015 中本地工作。

包正在从控制台应用程序的异步 Web API 调用后面的业务对象中加载。

这是代码(标准的东西)...

Application application = new Application();
DTSExecResult result;
DTSPackageEventListener eventListener = new DTSPackageEventListener();

packageLocation = request.packageLocation;

//using (Package package = application.LoadPackage(packageLocation, eventListener)) // 9 seconds to load
using (Package package = application.LoadFromDtsServer(@"File System\<PACKAGENAME>", @"<SERVERNAME>", eventListener)) // 9 seconds to load
{
.
.
.

有人有什么建议吗?非常感谢任何帮助/指导。

西蒙。

最佳答案

这是正常的,dtsx 文件是一个 xml 文件,DtsRuntime 库需要反序列化文件以将其加载为 dot net 类。还有一些验证是在包加载时完成的。

关于c# - 在 C# 中以编程方式加载 SSIS 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44371075/

相关文章:

powershell - 使用 Powershell 从多个域的事件目录组中提取所有用户?

ssis - 在 SSDT for Visual Studio 2017 Community 中使用 SSIS 包作为模板

c# - 在 asp.net 中以 List<T> 格式返回记录

SQL插入以用条件填充关联表

c# - 让存储在 Session 中的数据保持事件状态

c# - 具有多个 OR 条件的 EF core 连接

sql-server - 存储与数据库无关的模式

每个循环的 SSIS 传播不起作用

c# - 我想将电子邮件发送到本地网络中的某个 ID

c# - Azure 网站上的 "DataReader.GetFieldType(...) returned null"