背景:
通过SSIS连接Dynamics 365 Online,并将数据同步到本地的数据库中。但SSIS 包在执行期间失败,即使 OData 源任务中的测试连接和预览数据在连接到 Dynamics 365 OData 源成功。
以下是我们得到的错误消息:
[数据源 [2]错误:无法从运行时连接管理器获取托管连接。
[SSIS。管道 = 错误:OData 源验证失败,返回错误代码0xC020801F。
SSIS包在连接到 Dynamics 365 Online OData Source 时在执行过程中失败,并出现以下错误。具体如下:
1)使用https://********.crm5.dynamics.com/api/data/v8.9作为OData源时
2)配置数据流,选择OData源,选择集合。均可成功测试连接和预览数据。
3)执行结果: 无法从运行时连接管理器获取托管连接。
可能的原因是:
未在 SSIS 集成运行时中启用 OData 源所需的传输层安全性 (TLS)。 可以使用自定义设置在 SSIS 集成运行时中启用 TLS
若要解决此问题,请添加SchUseStrongCrypto注册表项。 为此,请在命令提示符窗口中运行适当的命令,具体取决于您的系统类型(64-bit 或 32-bit):
reg add HKLMSOFTWAREMicrosoft.NETFrameworkv4.0.30319 /v SchUseStrongCrypto /t REG_DWORD /d 1 /reg:64
reg add HKLMSOFTWAREMicrosoft.NETFrameworkv4.0.30319 /v SchUseStrongCrypto /t REG_DWORD /d 1 /reg:32
结论:
通过运行此命令后,可以解决“0xC020801F 无法从运行时连接管理器获取托管连接”的问题。(在SSDT开发调试时,需要启用32位)
参考链接:
在访问 Odata 源(如动态 AX 在线)时,SSIS 包的 TLS 问题
无法从 SSIS 连接到 Project Online OData