如果在asp.net web 上開發讀取Excel或Word文件,最常看到下面的錯誤訊息
這問題是因為,雖然已經在該Server安裝Office,卻沒有把權限開給Web處理的帳號
解決的方法,到元件服務(Component Service)/電腦(Computers)/我的電腦(My Computer)
開啟DCOM Config , 找到下列兩個應用程式
- Microsoft Excel Application
- Microsoft Office Word 97-2003 Document
調整安全性、識別兩處的權限即可!!
補充說明:64位元電腦會看不到上述兩個應用程式
請在開始/執行/MMC -32 =>強迫OS開啟32位元模式的MMC
接著加入新的Snap in / 元件服務(Component Service) , 就會看到了!!
‘/Web’ 應用程式中發生伺服器錯誤。
由於發生下列錯誤,為具有 CLSID {000209FF-0000-0000-C000-000000000046} 的元件擷取 COM Class Factory 失敗: 80070005。
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外詳細資訊: System.UnauthorizedAccessException: 由於發生下列錯誤,為具有 CLSID {000209FF-0000-0000-C000-000000000046} 的元件擷取 COM Class Factory 失敗: 80070005。
沒有授權 ASP.NET 存取要求的資源。請考慮將資源存取權授與 ASP.NET 要求識別。ASP.NET 有一個基本處理序識別 (通常在 IIS 5 上為 {MACHINE}ASPNET,在 IIS 6 上為 Network Service),會在應用程式未模擬的情況下使用。如果應用程式是透過
若要對檔案授與 ASP.NET 存取權,請在檔案總管中以滑鼠右鍵按一下檔案,選擇 [內容] 並選取 [安全] 索引標籤。按一下 [新增] 加入適當的使用者或群組。反白顯示 ASP.NET 帳戶,並且選取所需存取權限的核取方塊。
原始程式錯誤:
|
