0

我正在尝试制作自定义 SSIS 连接管理器并使其与我的包一起使用。

首先,我遵循了官方的 Microsoft 文档:

然后安装它:

@SET GACUTIL="C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil.exe"

Echo Copying files 2016
@SET CONNECTIONSDIR130="C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Connections"
copy "$(TargetDir)$(TargetFileName)" %CONNECTIONSDIR130%

Echo Copying files 2017
@SET CONNECTIONSDIR140="C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Connections"
copy "$(TargetDir)$(TargetFileName)" %CONNECTIONSDIR140%

Echo Copying files 2019
@SET CONNECTIONSDIR="C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Connections"
copy "$(TargetDir)$(TargetFileName)" %CONNECTIONSDIR%

Echo Installing $(TargetFileName) in GAC
%GACUTIL% -if "$(TargetDir)$(TargetFileName)"

如果我的 SSIS 包配置为“TargetServerVersion”:“SQL Server 2016”,则自定义连接管理器工作正常,但是当我将其设置为“SQL Server 2019”时,它根本不起作用并抛出此错误:

反序列化包“值不在预期范围内”的异常。(Microsoft.DataTransformationServices.VsIntegration)

截屏

在我的测试中,我使用了一个只包含连接的空包。

另一个发现,如果自定义连接管理器直接在包中(而不是在项目中),包运行但连接就像被忽略了。如果我把它放在项目中,我在执行包时会直接出错。

有没有人遇到过这个错误?

4

0 回答 0