VS/SSDT连接SQL Server编辑SSIS包出现Invalid Class String报错如何解决
问题原因
该Invalid Class String错误本质是SSIS依赖的COM组件注册不匹配,常见触发场景如下:
- 本地Visual Studio 2019安装的「SQL Server Integration Services Project」扩展版本,和存储SSIS包的目标SQL Server大版本不兼容
- 本地仅安装了VS的SSIS开发扩展,缺少对应版本的SQL Server Integration Services客户端运行时组件
- 32位/64位SSIS组件注册冲突,Visual Studio默认调用32位组件枚举SQL Server上的包,对应32位组件未正确注册
解决方案
按优先级依次尝试以下操作:
- 对齐SSIS扩展与目标SQL Server版本
打开VS 2019的扩展管理界面,卸载现有SSIS扩展后安装匹配版本:- 目标SQL Server为2012/2014/2016:安装3.4及更低版本的SSIS扩展
- 目标SQL Server为2017/2019:安装3.5~3.16版本的SSIS扩展
安装完成后重启Visual Studio重试导入操作。
- 安装对应版本的SSIS运行时
运行对应版本的SQL Server安装程序,勾选「Integration Services」客户端组件完成安装,之后重启计算机。 - 修复SSIS组件注册
以管理员身份启动命令提示符,执行对应组件注册命令:
32位组件(适配VS默认32位运行时):regsvr32 "C:\Program Files (x86)\Microsoft SQL Server\<版本号>\DTS\Binn\dts.dll"
64位组件(可选):regsvr32 "C:\Program Files\Microsoft SQL Server\<版本号>\DTS\Binn\dts.dll"
其中<版本号>替换为对应SQL Server的版本数值:2016对应130、2017对应140、2019对应150。 - 临时替代方案
若上述操作未生效,可先打开SQL Server Management Studio,在Integration Services目录下找到目标包,右键导出为本地.dtsx文件,再在VS的SSIS项目中选择从本地文件添加现有包即可。
内容的提问来源于stack exchange,提问作者Krbin
相关产品推荐
相关产品推荐

