2

我刚刚将我的 ssis 包从我的桌面移动到我的服务器。该包将数据从 sqlserver 导出到 Excel 表。当我尝试运行包时,我看到以下错误。错误发生在数据流任务的 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.

我还进行了以下更改,因为我之前有错误并且包甚至无法运行。

在数据流任务上将延迟验证设置为 false。将项目属性下的Run64bitruntime设置为true

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

PS:我在服务器上运行包,MS excel 没有安装在它上面。这会导致错误吗?

4

3 回答 3

2

PS:我在服务器上运行包,MS excel 没有安装在它上面。这会导致错误吗?

是的

我确实还找到了另一个描述解决方案的线程:

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

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

注意:这确实适用于 Office 2010,即使它适用于 2007 Office,不要问我为什么会这样 :)

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

  2. 在 VS 中点击添加数据源,按照向导进行操作!:)

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

于 2013-10-02T20:49:41.230 回答
1

我遇到过一次,不得不将 excel 表保存为 .csv 并使用平面文件连接管理器:

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

于 2013-10-02T20:54:40.007 回答
1

另一种方法是在 SSIS 项目中使用 32 位选项。右键单击解决方案并选择属性 > 选择调试并为选项 Run64Bitruntime 指定 FALSE

于 2014-05-16T20:32:13.943 回答