[C#] 由於發生下列錯誤,為具有 CLSID {00024500-0000-0000-C000-000000000046} 的元件擷取 COM Class Factory 失敗: 80040154。

  • 14452
  • 0
  • C#
  • 2017-09-05

[C#] 由於發生下列錯誤,為具有 CLSID {00024500-0000-0000-C000-000000000046} 的元件擷取 COM Class Factory 失敗: 80040154。

原本寫好的 C# 開啟 Excel 程式是正常,但是換了個開發環境後卻出錯,google 找到的原因都不是我的癥結點,後來找出原因是開發環境沒有安裝 Office

我的環境:

OS: win7 sp1 32bit

VS: 2008

 

 

錯誤訊息

image

 

解決方案

安裝 Office 2010 32bit 後就正常了。

 

另外由於連續遇到兩個問題 (此文和上一篇 [C#] System.Data.OracleClient 需有 Oracle 用戶端軟體版本 8.1.7 或以上版本 ) 都是跟開發環境有關,這邊先把開發環境規格記錄起來,後續換環境前當作 STEP 0 先檢查,以免 DEBUG 浪費不少時間..

 

C# 開發環境 ( 可連 Oracle, 開 Excel )

必要條件:

------------------------------------

OS: win 7 SP1 32 bit

VS: 2008

Office: 2010 32 bit (C# 開啟 excel 用)

OracleClient: win32 11g R2 (C# 連 Oracle 用)

 

選用:

------------------------------------

JDK: 1.8 ( for Oracle SQL Developer: 4.1)

Oracle SQL Developer: 4.1 (圖形化介面查詢 Oracle)

 

補上 google 找到的其他可能解法

1.沒權限
2.物件版本不符
3.物件DLL消失

 

參考資料

這個錯誤訊息是什麼意思呢?

 

創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權,文章歡迎轉載,請註明出處,謝謝~~~