我正在使用2008年开发的SSIS包,从文本文件读取数据并加载到数据库中。 根据 Microsoft 政策,TLS 1.0 不再支持。
因此,我们禁用了 TLS 1.0 并运行了 SSIS 包。出现如下错误:
错误:2020-08-10 22:58:07.45 代码:0xC0202009 来源:filenameofpackage 连接管理器“OLEDBConnection”说明:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。 OLE DB 记录可用。来源:“Microsoft OLE DB Provider for SQL Server” Hresult:0x80004005 描述:“[DBNETLIB][ConnectionOpen (SECCreateCredentials()).]SSL 安全错误。”。结束错误
如何解决这个问题?
SSIS 2008 基于 .net Framework 3.5,这意味着除非您安装了一些系统更新,否则不支持开箱即用的 Tls 1.2 请参阅此。
假设您的系统已正确更新,那么您可以尝试在脚本任务中使用以下行(必须是 SSIS 包中的第一个任务)以在 .net Framework 3.5 代码中启用 Tls1.2
// Enable TLS 1.1 and 1.2
System.Net.ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType)768 | (System.Net.SecurityProtocolType)3072;
// OR -- Enable JUST TLS 1.2
//System.Net.ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType)3072;