2013-10-02 67 views
2

我刚刚将我的ssis包从我的桌面移动到了我的服务器。该包将数据从sqlserver导出到Excel表单中。当我尝试运行包时,我看到以下错误。该错误发生在数据流任务的Excel目标中。将ssis包中的数据导出到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没有安装在它上面。这可能会导致错误?

+0

DelayValidation应该在数据流和连接管理器上均为**。另外,确保你在32位模式下运行这个 – billinkc

回答

2

PS:我正在运行服务器上的软件包,MS excel上没有安装 。这可能会导致错误?

我也觉得描述一个解决方案的另一个线程:

HOW TO: FIX ERROR - "the 'microsoft.ace.oledb.12.0' provider is not registered on the local machine

不涉及安装完整版的Office:

注:本办公室2010年的工作,即使它是2007年的办公室,不要问我为什么j乌斯季确实:)

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

  2. 在VS点击添加数据源,按照向导和享受! :)

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

+0

OK!有没有办法纠正它,因为我的服务器不能安装excel? – CodeNinja

+0

@Courage - 查看更新的答案 – Tony

1

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