禁用 TLS 1.0 时,SSIS 包无法连接数据库

问题描述 投票:0回答:1

我正在使用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 安全错误。”。结束错误

如何解决这个问题?

sql-server ssl ssis tls1.2 oledbconnection
1个回答
1
投票

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;
  1. 在控制流中拖动脚本任务。确保所有其他任务都在此任务之后进行
  2. 编辑脚本任务(选择 C# 作为您的语言并在 main() 方法中编写以上几行
© www.soinside.com 2019 - 2024. All rights reserved.