沒有跨不過的坎,也沒有解決不了的問題,那些曾經沒有把我們打死的困難,最終都會讓我們變得更加強大
最近在使用ETL獲取Excel數據時,在本地運行沒有任何問題,部署到服務器后,使用作業運行時便一直提示以下錯誤
百度中幾乎所有的博文資料都說安裝相應的驅動程序,但是我安裝之后依然解決不了問題,各種版本的都裝了,2016,2010,2007,真是頭大
有些博文說將應用程序池中的“啟用32位應用程序”設置為true,我將應用程序池中所有的應用都設置為了true,依然解決不了問題
最后將作業中配置處的“32位運行時”勾選了,才得以把問題解決,好家伙,竟然隱藏得這么深,配置如下
在作業——步驟——配置——高級——32位運行時(勾選)
總結一下出現該問題大致要處理的幾個步驟:
1、首先,你肯定要安裝相應的驅動程序,2007版本32位的(下面是百度網盤的鏈接,永久有效),下載后雙擊安裝即可
鏈接:https://pan.baidu.com/s/1rR1LUCgG2j7IHfvn6hj1nA
提取碼:y3op
安裝好后如果在你的注冊表中含有Microsoft Access Driver (*.mdb, *.accdb),則代表安裝成功
注冊表查看路徑:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI
2、項目部署之前,將調試選項中的按64位程序運行設置為false
如果未設置該位置,會提示以下錯誤,這在本地就不會運行通過,所以該處的設置也很關鍵
[Excel 源 [2]] 錯誤: SSIS 錯誤代碼 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。對連接管理器“Excel 連接管理器”的 AcquireConnection 方法調用失敗,錯誤代碼為 0xC0209303。可能在此之前已經發出錯誤消息,提供了有關 AcquireConnection 方法調用失敗原因的詳細信息。
[SSIS.Pipeline] 錯誤: Excel 源 未能通過驗證,返回的錯誤代碼為 0xC020801C。
3、配置作業的步驟屬性(在前面已提到)
該步驟是我解決標題中的問題的關鍵所在
4、設置應用程序池的32位應用程序為true
這一步不知道是不是必須,如果進行了上述操作還是沒有解決問題,可以再做這個設置
路徑:控制面板——管理工具——Internet 信息服務(IIS)管理器——應用程序池——高級設置——啟用32位應用程序(true)
以上是我針對此問題的處理過程,希望能幫助到大家
歡迎大家評論交流轉發,如有不對之處,歡迎大家指正