You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server 2022迁移后DTSPipelineWrap代码适配问题求助

适配SQL Server 2022动态创建SSIS包的解决方案

问题根源

SQL Server 2022对SSIS的组件模型做了调整,Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter这个内部实现类不再作为公开类型对外暴露,所以你无法通过typeof获取它的信息,但IDTSComponentMetaData100、IDTSPath100这类旧接口依然保持向下兼容,不用担心被废弃。

具体适配步骤

1. 直接使用组件固定ClassID

放弃反射获取类型名称的方式,改用DataReader Source组件的固定ClassID字符串赋值:

IDTSComponentMetaData100 newComponent = _dataFlow.ComponentMetaDataCollection.New();
// 对应SQL Server 2022的DataReader Source组件ClassID
newComponent.ComponentClassID = "Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter, Microsoft.SqlServer.DataReaderSourceWrap, Version=16.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91";

提示:ClassID中的版本号16.0.0.0对应SQL Server 2022(160系列),后续若升级版本,只需修改版本号部分即可。

2. 补全必要的DLL引用

除了你已引用的Microsoft.SqlServer.DTSPipelineWrap.dll和Microsoft.SqlServer.DTSRuntimeWrap.dll(16.0版本),还需要添加Microsoft.SqlServer.DataReaderSourceWrap.dll的引用——这个DLL是2022版本中单独拆分出来的,包含DataReaderSourceAdapter的实现逻辑。

3. 保留IDTSPath100的原有代码

IDTSPath100接口在SQL Server 2022中完全兼容,不需要替换成更高版本的接口(比如IDTSPath130),你之前写的路径创建代码可以直接沿用:

IDTSPath100 path = _dataFlow.PathCollection.New();
path.AttachPathAndPropagateNotifications(sourceComponent.OutputCollection[0], destComponent.InputCollection[0]);

备选方案(若ClassID方式失效)

如果上述方法仍有问题,可以切换到SSIS官方推荐的托管API Microsoft.SqlServer.Management.IntegrationServices来动态创建包,这套API文档更完善,稳定性更好:

using Microsoft.SqlServer.Management.IntegrationServices;
using System.Data.SqlClient;

// 连接到SSISDB
var conn = new SqlConnection("Server=你的服务器;Database=SSISDB;Integrated Security=True;");
var iss = new IntegrationServices(conn);

// 创建或获取项目
var catalog = iss.Catalogs["SSISDB"];
var folder = catalog.Folders["你的文件夹"];
var project = folder.Projects["你的项目"];

// 创建新包
var pkg = project.Packages.New("DynamicPackage");

// 添加Data Flow任务
var dataFlowTask = pkg.Executables.Add("STOCK:PipelineTask") as TaskHost;
var mainPipe = dataFlowTask.InnerObject as MainPipe;

// 后续添加组件、配置路径的逻辑可参考官方文档,使用托管API提供的类型

内容的提问来源于stack exchange,提问作者FRReg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 14:12:04