从SSMS导入含Oracle连接器的SSIS项目至VS时报错
SSIS项目从SSMS导入Visual Studio时Oracle连接器报错:Value does not fall within the expected range
问题详情
- 异常现象:仅使用SQL Server连接器的SSIS项目可正常从SSMS导入Visual Studio,所有包含Oracle连接器的项目导入时触发错误
- 错误提示:
"Value does not fall within the expected range. (Microsoft.SqlServer.ManagedDTS)"
- 调用栈信息:
at Microsoft.SqlServer.Dts.Runtime.Interop.ProjectInterop.ReferencePackage(Package package, String packageLocation) at Microsoft.SqlServer.Dts.Runtime.PackageItem.Load(IDTSEvents events) at Microsoft.SqlServer.Dts.Runtime.PackageItem.get_Package() at Microsoft.DataTransformationServices.ImportProjectWizard.ImportProjectWizardTask.<>c__DisplayClass19_0.b__1() at Microsoft.DataTransformationServices.ImportProjectWizard.ImportProjectWizardTask.PerformStep(ActionName currentAction, StepCallback callback) at Microsoft.DataTransformationServices.ImportProjectWizard.ImportProjectWizardTask.ImportProject() at Microsoft.DataTransformationServices.ImportProjectWizard.ImportProjectPage.OnSetActive()
- 当前环境配置:
- Microsoft SQL Server 2019 (RTM-CU18-GDR) (KB5021124) - 15.0.4280.7 (X64)
- Microsoft Visual Studio Enterprise 2019(版本16.11.26)
- 已安装组件:MicrosoftSSISOracleConnector-SQL19-x64、Attunity 5.0 SSIS Ora Adapters X64_2019
解决方案
1. 匹配连接器版本兼容性
SQL Server 2019对应的Attunity Oracle适配器应为版本5.1,5.0版本仅适配SQL Server 2017及更早版本,版本不匹配是核心诱因之一。
2. 重新安装适配的连接器组件
- 先卸载已安装的Attunity 5.0适配器和MicrosoftSSISOracleConnector-SQL19-x64
- 按以下顺序安装:
- 安装Microsoft Connector for Oracle by Attunity 5.1 for SQL Server 2019(x64版本)
- 安装包含Visual Studio 2019集成支持的Attunity适配器组件
- 安装完成后重启Visual Studio和SSMS
3. 验证全局程序集缓存(GAC)组件
- 以管理员身份打开命令提示符,执行:
gacutil -l | findstr Attunity - 确认输出的Attunity相关DLL版本为5.1.x.x,且同时存在32位和64位版本(Visual Studio设计环境依赖32位组件)
4. 确认项目目标版本
- 在SSMS中检查待导入项目的目标服务器版本,确保为SQL Server 2019;若项目从旧版本迁移,先升级项目版本后再尝试导入
5. 清理Visual Studio缓存
- 删除Visual Studio组件模型缓存目录:
%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\16.0_<你的GUID>\ComponentModelCache - 重启Visual Studio后重新执行导入操作
内容的提问来源于stack exchange,提问作者Ghena
相关产品推荐
相关产品推荐

