SSIS 讀取 Excel xlsx 檔案 , 出現無法擷取 Excel 連線管理員

更新於 2024/10/05閱讀時間約 5 分鐘

情境

SSIS Visual Studio 中的 Excel 來源、Excel 目的地 來讀取 Excel . xlsx 出現錯誤, 無法擷取連線管理員 'Excel 連線管理員, 導致無法選取 Excel 工作表;

觀念

現在企業大都把 Office 2003 升級到 Office 2010 , 2016 甚至 Office 2019. xls 和 xlsx 有何差異呢? 說明如下
  • Excel 副檔名由 .xls 變成 .xlsx
  • 版本不同
    xls 是 Excel 2003及以前版本的格式
    xlsx 是 Excel 2007及之後版本的格式
  • 文件格式不同
    xls 是一个特有的二進制格式,
    xlsx 的核心结构是 XML 的結構,採用 XML 的壓縮方式占用空間更小。xlsx 最后 x 就是指 XML
  • xls : 數據超出256列和65536行,會導致數據被截斷
    xlsx : 數據可支援到 1,048,576 筆資料列, 16,384 資料行

Issue:

若 SSIS 中的 Excel 來源和 Excel 目的地元件. 若要讀取 Excel 2007後的 .XLSX 檔會出現” 無法擷取連線管理員 'Excel 連線管理員 “ 如下圖
要讀取 Excel 2007後的 .XLSX
出現” 無法擷取連線管理員 'Excel 連線管理員" 的錯誤訊息
無法擷取連線管理員 'Excel 連線管理員' 的資料表資訊。
無法使用連線管理員 'Excel 連線管理員' 連接到來源

Solution:

必須重新安裝 Microsoft Access Database Engine 2016 可轉換散發套件 , 讓 Excel 元件可以讀取 XLSX.
  1. 但由於 Excel 連線管理員 Microsoft.ACE.OLEDB.12.0 是 32 bit driver.
    所以必須 安裝Microsoft Access Database Engine 2016 可轉換散發套件(32 bit) 才行, 64 bit driver 會無法使用
  2. 我的電腦是 office 64 bit , 若安裝 Microsoft Access Database Engine 2016 可轉換散發套件(32 bit) 才行, 郤又叫我要 uninstall office 64 bit , 但我又要用 office 64 bit.
安裝 Microsoft Access Database Engine 2016 可轉換散發套件(32 bit) 會出現此錯誤
以上 1. 2 點是衝突的. 所以上網找, 終於找到解決方式, 再此分享給大家, 節省大家的時間.
解決方法如下:
  1. 下載 Microsoft Access Database Engine 2016 可轉散發套件 ( 32 bit )
    https://www.microsoft.com/zh-tw/download/details.aspx?id=54920
    選擇 accessdatabaseengine.exe <- 注意要選這個, 不能選 X64.exe 喔

    注意:您必須先使用 [控制台] 中的 [新增/移除程式] 將舊版 Access 資料庫引擎從您的電腦移除,才能安裝此下載項目。
  2. 打開 Dos Command
  3. cd 到 你下載 Microsoft Access Database Engine 2016 可轉散發套件 ( 32 bit ) 的資料夾
  • 若是 Microsoft Access Database Engine 2016 可轉散發套件:
accessdatabaseengine.exe /quiet  
/quiet 就是告訴系統, 不要問 32bit 還是 64 bits , 裝就對了.
  • 若是Microsoft Access Database Engine 2010 可轉散發套件 :

accessdatabaseengine.exe /passive
4. 把 registry Key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\Files Paths 中的 mso.dll 改名或者刪除. 就可以
5. 測試 SSIS 中的 Excel 來源、Excel 目的地 , 就可以正確讀取 xlsx 檔案了
SSIS 中的 Excel 來源 就可以正確讀取 xlsx 檔案
以上就是我的分享. 若對你有幫助, 請在下面 按讚、留言. 或 愛心符號. 你的肯定, 是我撰寫的動力.
Phoenix 鳳哥
你沒學過 Tableau, 想要學? 曾學過一二天的訓練課程, 會些基本的功能? 用運工作上時, 又覺得卡卡的? 歡迎你來到 鳳哥 Tableau 基本功專欄. 與你分享 Tableau 學習之旅.
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文主要使用pyzbar 與pylibdmtx來讀取條碼,並用靜態方法將這兩個套件的讀碼功能包裝起來,因應不同需求,調用相對應的方法來讀取QR code,一維條碼,Data Matrix。最後再將讀到的條碼資料與框選條碼位子於原圖上。
Thumbnail
pandas 提供了多種方法來讀取和寫入各種格式的文件。 本文主要介紹讀取寫入CSV 文件與Excel 文件,與比較兩者的差異。 為什麼要介紹這兩種呢,因為大多的練習範例的數據都是用csv檔儲存,像Kaggle競賽,比賽提供的數據也大多都是csv檔。
Thumbnail
讀取ini配置文件時如果某個參數不存在,它就會報錯,要怎麼避免呢? 可以使用fallback 參數來指定預設值。 這樣即使配置文件中缺少一些參數,我們的程序也能正常運行並使用預設值。 讓我們來假設一個案例做說明: 先故意將先前範例的port的資料刪掉。
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
JSON(JavaScript Object Notation)是一種常用的數據交換格式,用於在不同的應用程序之間傳遞結構化數據。在C#中,我們可以使用Newtonsoft.Json模組來處理JSON資料。
Thumbnail
在專案中,使用NuGet套件管理員來安裝Microsoft.Office.Interop.Excel套件。這個套件將幫助我們與Excel進行互動。
Thumbnail
這聽起來是前端科技,其實並不是。 這是日本最先進2017年底,最新發布的成果,距離已經過了7年: 可以注意到科學家已經可以提取腦子中的資料。 但是以最下面三件物品來看,目前提取的內容是有瑕疵的,三個分開的東西,提取大腦資料卻變成一件較寬的物品。 而最近經過AI辨識,可以高效率讀取腦中畫面的畫面,但是
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文主要使用pyzbar 與pylibdmtx來讀取條碼,並用靜態方法將這兩個套件的讀碼功能包裝起來,因應不同需求,調用相對應的方法來讀取QR code,一維條碼,Data Matrix。最後再將讀到的條碼資料與框選條碼位子於原圖上。
Thumbnail
pandas 提供了多種方法來讀取和寫入各種格式的文件。 本文主要介紹讀取寫入CSV 文件與Excel 文件,與比較兩者的差異。 為什麼要介紹這兩種呢,因為大多的練習範例的數據都是用csv檔儲存,像Kaggle競賽,比賽提供的數據也大多都是csv檔。
Thumbnail
讀取ini配置文件時如果某個參數不存在,它就會報錯,要怎麼避免呢? 可以使用fallback 參數來指定預設值。 這樣即使配置文件中缺少一些參數,我們的程序也能正常運行並使用預設值。 讓我們來假設一個案例做說明: 先故意將先前範例的port的資料刪掉。
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
JSON(JavaScript Object Notation)是一種常用的數據交換格式,用於在不同的應用程序之間傳遞結構化數據。在C#中,我們可以使用Newtonsoft.Json模組來處理JSON資料。
Thumbnail
在專案中,使用NuGet套件管理員來安裝Microsoft.Office.Interop.Excel套件。這個套件將幫助我們與Excel進行互動。
Thumbnail
這聽起來是前端科技,其實並不是。 這是日本最先進2017年底,最新發布的成果,距離已經過了7年: 可以注意到科學家已經可以提取腦子中的資料。 但是以最下面三件物品來看,目前提取的內容是有瑕疵的,三個分開的東西,提取大腦資料卻變成一件較寬的物品。 而最近經過AI辨識,可以高效率讀取腦中畫面的畫面,但是