【发布时间】:2018-11-20 19:50:27
【问题描述】:
我从.net(V4.0) 应用程序调用Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage 以加载安装到VM Windows Server 2016 的本地磁盘中的SSIS 包。我在调试模式下从Visual Studio 2017 社区运行此代码以测试我的集成.
SSIS 包是在 Visual Studio 2010 中创建的,我将它们迁移到与 Visual Studio 2017 兼容。它们将数据集成到 SQL Server 2017 中。如果我只是从我的 SSIS 解决方案中执行我的包,它可以完美运行,但是当我加载它们在我的其他 C# 代码中使用 Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage,我收到以下错误:
由于错误 0xC0011008“从 XML 加载时出错。无法为此问题指定更多详细的错误信息,因为没有传递任何事件对象来存储详细的错误信息。”。当 CPackage::LoadFromXML 失败时会发生这种情况。
顺便说一句,这不是代码问题,因为它在我的实际环境中完美运行(Windows Server 2012 R2 目标 SQL Server 2017)具有完全相同的代码。我认为更多的是版本兼容性相关或服务器配置。
【问题讨论】:
-
您是否检查过虚拟机上安装了正确版本的
Microsoft.SqlServer.ManagedDTS.dll?我们在通过环境进行测试时遇到了类似的问题 -
您好,马特,我如何知道正确的版本以及如何检查它是否已正确安装?实际上我在项目中保留了相同的版本,它是用 Nuget 添加的,但我不知道我必须升级到哪个版本
-
所以 Integration Services 是一个服务器组件,不可再分发,因此您已使用 Nuget 添加了引用,但您需要在 VM 上运行客户端工具 SDK 的安装
-
我已经通过这个 url docs.microsoft.com/en-us/sql/ssdt/… 在我的虚拟机上安装了 SSDT。 Client Tools Sdk 有什么不同吗?我在哪里可以得到它?我运行该进程的虚拟机没有安装任何 SQL 服务器实例。
-
是的,SDK 是 SQL Server 安装程序中的一项功能。你需要在你的虚拟机上运行它。我正在为你找一张照片……
标签: .net sql-server ssis dts