SSIS:请求的 OLE DB 提供程序 SQLNCLI10.1 未注册

SSIS: The requested OLE DB provider SQLNCLI10.1 is not registered

我正在尝试在新的报告服务器上更新我的 ETL 作业,但出现此错误:

Microsoft (R) SQL Server Execute Package Utility Version 13.0.1601.5 for 64-bit Copyright (C) 2016 Microsoft. All rights reserved. Started: 3:44:21 PM Error: 2016-12-28 15:44:22.24 Code: 0xC0209303 Source: FactCOGS Connection manager "MyConnection" Description: The requested OLE DB provider SQLNCLI10.1 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. Error code: 0x00000000. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered". End Error Error: 2016-12-28 15:44:22.24 Code: 0xC020F42A
Description: Consider changing the PROVIDER in the connection string to SQLNCLI11 or visit http://www.microsoft.com/downloads to find and install support for SQLNCLI10.1. End Error Error: 2016-12-28 15:44:22.24
Code: 0xC020801C Source: Load Stage OLE DB Source [149]

我尝试将我的配置文件中的提供程序更改为 SQLNCLI11,因为它表明这似乎解决了其他人的问题,但我仍然遇到同样的错误。

报表服务器上的驱动程序:

我今天必须完成这个,所以我最终在新的报表服务器上安装了 SQLNCLI10 驱动程序,然后一切又恢复了。如果我以后找到更好的解决方案,我会更新我的答案。

编辑作业步骤。转到 "Execution options"。尝试检查 "Use 32 bit runtime" 选项。

我收到了相同的消息 运行 在 Visual Studio 2008 年创建并部署在 SQL 服务器 10.50.6560 上的 SSIS DTSX 包。我通过转到 SSIS 解决方案属性 -> 调试 -> 调试选项 -> Run64BitRuntime -> 设置为 TRUE 解决了这个问题。锻炼的很好,希望对你有帮助。

添加从一个解决方案导出包到另一个解决方案后,我遇到了同样的错误。我能够通过 open the solution in visual Studio -> open connection(s) used in the package -> test connection(s).

解决错误

我重新运行包,错误消失了。