以C#编程方式加载SSIS包

3
我正在从我的应用程序中加载一个SSIS包,这很好地实现了。然而,我试图解决的问题是,该包执行需要1秒钟(非常快),但加载包需要9秒钟,我一直在尝试但失败了。
我使用Visual Studio 2015本地工作,并通过远程连接到SQL Server 2014实例。该包被加载在一个业务对象中,在控制台应用程序中通过异步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
{
.
.
.

有没有人有什么技巧?任何帮助/指导都将不胜感激。

西蒙。


问题是什么?这似乎很正常。如果您不想加载它,可以直接从SSISDB运行包。 - Jacob H
嗨Jacob,问题在于加载软件包的延迟。我正在编写一个概念验证项目,以查看是否使用SSIS包足够快来为我们的Web应用程序提供即席用户请求服务。我将尝试直接从SSISDB调用,以查看是否有所帮助,但我认为我可能已经尝试过了。 - S Osborn
嗨,Jacob,非常好用。小于一秒的加载时间。非常感谢。 - S Osborn
太好了!很高兴能帮忙。我使用SSISDB的次数越多,就越喜欢它。 - Jacob H
1个回答

0

这是正常的,dtsx文件是一个xml文件,DtsRuntime库需要对文件进行反序列化以将其作为dot net类加载。此外,在包加载时还进行了一些验证。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接