将ssis包中的数据导出到excel目标时出错

我只是从我的桌面移动我的ssis包到我的服务器。软件包将数据从sqlserver导出到Excel工作表。 当我尝试运行包时,看到以下错误。 数据stream任务的Excel目标中发生错误。

Error at Package [Connection manager "Excel Connection Manager"]: SSIS Error Code DTS_E_OLEDB_NOPROVIDER_ERROR. The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered. Error code: 0x00000000. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered". Error at Data Flow Task [Excel Destination [16]]: SSIS Error Code [Excel Destination [16]] Error: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC020 9302. There may be error messages posted before this with more information on why the AcquireConnection method call failed. 

我也做了以下更改,因为我以前有错误,包甚至不会运行。

将数据stream任务中的延迟validation设置为false。 将项目属性下的Run64bitruntime设置为true

谁能告诉我我需要做什么?

PS:我正在运行服务器上的软件包和MS Excel中没有安装它。 这可能是导致错误?

PS:我正在运行服务器上的软件包和MS Excel中没有安装它。 这可能是导致错误?

我也find另一个线程来描述解决scheme:

如何:修复错误 – “microsoft.ace.oledb.12.0”提供程序未在本地计算机上注册

其中不涉及安装完整版本的Office:

注:这是办公室2010年工作,即使是2007年的办公室,不要问我为什么只是:)

  1. 下载并安装: http : //www.microsoft.com/download/en/confirmation.aspx?id=23734

  2. 在VS中点击添加数据源,按照向导享受! 🙂

他们正在使用Visual Studio,但我想你应该能够运行你的SSIS包,而不必“添加数据源”,因为它正在寻找现在应该注册的COM组件microsoft.ace.oledb.12.0

我碰到过一次,不得不把excel表格保存为.csv,并使用一个平面文件连接pipe理器:

http://msdn.microsoft.com/en-us/library/ms140266.aspx

另一种方法是在SSIS项目中使用32位选项。 右键单击解决scheme,然后select属性>selectdebugging,并为选项Run64Bitruntime指定FALSE