0

我的团队有一个自动生成 SSIS 包的 C#/.NET 软件,我们目前正在升级以支持从之前的 2016 状态的 SQL Server 2019。该解决方案当前设置在运行带有 SSIS、Visual Studio 2019 + 集成服务项目 + SSDT 的 SQL Server 2019 的 VM 上。它在全球范围内运行 .NET 4.62,其中一些子项目使用 4.5

在升级以编程方式生成包的特定类的过程中,我遇到了 Package.Executables.Add(string moniker) 段的一个相当大的问题,即没有一个 STOCK 名字对象起作用。这是我在尝试 Add("STOCK:ScriptTask") 时不断遇到的异常:

Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException
  HResult=0x80131500
  Message=Cannot create a task from XML for task "", type "" due to error 0x80070057 "The parameter is incorrect.".

  Source=Microsoft.SqlServer.ManagedDTS
  StackTrace:
   at Microsoft.SqlServer.Dts.Runtime.Executables.Add(String moniker)
Inner Exception 1:
COMException: Cannot create a task from XML for task "", type "" due to error 0x80070057 "The parameter is incorrect.".

因为我无法弄清楚这个问题,所以我找到了解决方法,ComponentClassIDs 的使用,程序集名称,我可以为每个其他组件提供的一切,但是对于这个,我完全被难住了。

为了进行测试,我设置了第二个项目,它使用相同的逻辑、使用相同的引用程序集和相同的项目设置来创建包和 ScriptTask 组件。那个,当然,完美的工作。

有没有人有任何想法或指导我可以开始检查?我对此完全感到困惑,并且无法在项目环境之外的任何其他环境中复制该问题。

4

0 回答 0