部署SSIS 2019包至Azure SQL DB时Oracle连接丢失及组件升级失败问题
环境:Azure SQL Database、VS Studio 2019、最新版本SSDT
SSIS包使用Microsoft Oracle Connector将数据从Oracle加载至SQL Server,本地运行正常,但部署到Azure SQL Database关联的SSIS运行环境时出现以下错误:
Load:Error: 无法将“Oracle Source, clsid {8DC69D45-2AD5-40C6-AAEC-25722F92D6FC}”的组件元数据升级到组件的新版本。PerformUpgrade方法执行失败。
Load_Test:Error: 未找到连接“{70AFF065-3E14-43F1-AF76-52BBF3BCDA95}”。当未找到特定连接元素时,Connections集合会引发此错误。
Load:Error: 由于错误代码0xC0010009,在连接管理器集合中找不到ID为“{70AFF065-3E14-43F1-AF76-52BBF3BCDA95}”的连接管理器。该连接管理器是“Oracle Source”的连接管理器集合中“Oracle Source.Connections[ORACLEConnection]”所需的。请验证在连接管理器集合Connections中是否已创建具有该ID的连接管理器。
Load_Test:Error: 未找到连接“{70AFF065-3E14-43F1-AF76-52BBF3BCDA95}”。当未找到特定连接元素时,Connections集合会引发此错误。
- 匹配组件版本:本地开发环境使用的Microsoft Oracle Connector版本必须与目标运行环境(如Azure-SSIS IR或SQL Server SSIS服务)完全一致。版本不匹配会触发组件元数据升级失败,需在目标环境安装与VS2019+最新SSDT对应的连接器组件。若使用Azure-SSIS IR,需确认是否启用了对应版本的Oracle组件,或通过自定义安装补充缺失组件。
- 确保连接管理器完整部署:
- 重新部署时选择包含所有依赖项,不要仅部署单个包;
- 检查目标SSIS目录(SSISDB)中是否存在
ORACLEConnection连接管理器,且ID与包中引用一致。若不一致,在VS中删除原连接并重新创建,关联Oracle Source组件后重新部署。
- 重新生成并验证部署:
- 在VS2019中重新生成整个SSIS项目,确保无编译错误;
- 部署前右键项目选择「验证」,提前修复连接或组件的警告/错误;
- 采用完全重新部署方式,避免部分资源遗漏。
- 检查Oracle驱动兼容性:目标环境需安装与Microsoft Oracle Connector兼容的Oracle客户端驱动(支持Oracle 11g及以上,32/64位需与运行环境匹配)。若为Azure-SSIS IR,需确认IR环境已配置对应驱动,或通过自定义安装添加。
内容的提问来源于stack exchange,提问作者DataNerd

