2013-10-02 97 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