文章編號: 274038 - 上次校閱: 2006年12月26日 - 版次: 1.4

PRB: ASP 錯誤 8002801d"庫未登錄"

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

當您瀏覽的動態伺服器網頁 (ASP) 頁面時,可能會收到下列錯誤訊息:
伺服器物件時發生錯誤 ' ASP 0177: 8002801d '
Server.CreateObject 失敗
/vdir/filename.asp 行 xx
未註冊的文件庫。

發生的原因

程式庫未登錄的詳細資料字串表示與此物件的登錄資訊問題。登錄項目可能已遺失,或包含不正確的資訊或使用者可能沒有讀取登錄項目的權限。本文將告訴您,如何解決問題,在登錄中的資訊正確,但使用者無權讀取它時。

當您安裝水晶報表 8,也可能會發生這個問題。如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
266621? (http://support.microsoft.com/kb/266621/EN-US/ ) PRB: 錯誤訊息:"程式庫未登錄 」 問題水晶報表 8
272693? (http://support.microsoft.com/kb/272693/EN-US/ ) 0x8004005 水晶報表 8 安裝之後連接至資料庫時發生 ASP 錯誤訊息

解決方案

若要解決這個問題,提供給 「 每個人 」 群組 「 讀取 」 權限 ClassIDTypeLib 登錄項目為失敗的元件。

注意: 的 ClassIDTypeLib 登錄項目都長、 十六進位數字已知為 GUID (全域唯一識別項) 或 UUID (通用唯一識別項)。

如果問題繼續發生,也可以使用 「 RegMon 」 公用程式判定失敗的嘗試讀取登錄。您可能需要授與 Everyone 群組 「 讀取 」 權限給其他登錄機碼。

ClassID

重要這個區段、 方法或任務包含告訴您如何修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,執行這些步驟時請務必小心。為加強保護,修改登錄之前,請務必將它備份起來。以後您就可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
322756? (http://support.microsoft.com/kb/322756/ ) 如何備份和還原在 Windows 登錄

  1. 尋找失敗,例如的程式碼行:
    Server.CreateObject("MSWC.BrowserType")
    						
    的文字字串,"MSWC.BrowserType 」 是程式識別碼 (程式識別碼)。
  2. 在 [開始] 功能表上按一下 [執行]。在命令提示字元下中輸入下列命令來啟動登錄編輯程式:
    RegEdt32.exe
  3. HKEY_CLASSES_ROOT] 視窗中按一下以展開 ProgID] 機碼,,然後按一下 [CLSID。記錄此機碼的 UUID 值。比方就說 MSWC.BrowserType 」 為 ClassID 是 {0ACE4881-8305-11CF-9427-444553540000}。
  4. HKEY_CLASSES_ROOT] 視窗中按一下以展開 CLSID] 機碼,然後選取 [ClassID 項目 (UUID)。按一下 [安全性] 功能表 的權限。請確認 「 每個人] 項目具有讀取權限 ; 如果不,新增這個使用權限項目。

TypeLib

尋找 TypeLib

展開 ClassID 項目,從上述的步驟 3,並找出其下方的 [TypeLib] 項目。記錄 UUID] 值,然後再繼續 「 變更使用權限的 TypeLib 」 一節。

如果沒有 TypeLib 項目執行下列步驟:
  1. 選取 InprocServer32LocalServer32 項目。記錄元件在硬碟上的路徑和檔案名稱。
  2. 在 [開始] 功能表上指向 [程式集],指向 [Visual Studio、 指向 Visual Studio 工具,然後再按 [OleView]。

    注意: 如果沒有列出 OleView 就執行下列步驟執行:
    • 在控制台中按 [新增/移除程式,然後按一下 [新增程式]。按一下 [Visual Studio,然後按一下 [新增]。這會啟動 Visual Studio 安裝程式。
    • 若要安裝所有工具,選取 [工具] 核取方塊]。或者,以安裝 OLE/COM 物件檢視器,選取 [工具] 核取方塊並按一下 [變更選項,然後選取 [OLE/COM 物件檢視器] 核取方塊。
    • 完成 [Visual Studio 安裝程式,然後開始 OleView。
  3. 在 OleView,在 [檔案] 功能表中上, 按一下 [檢視 TypeLib]。
  4. 開啟已列在 [InprocServer32LocalServer32] 項目] 下的元件。上方附近應該會出現類似下列的文字 (Browscap.dll 元件用在這個範例中) 的文字:
    // typelib filename: browscap.dll
    
    [
      uuid(E0049865-0766-11D1-8AAB-00C0F00910F9),
      version(1.0),
      helpstring("MSWC Browser Capabilities Object Library")
    ]
    							
    記錄 TypeLib 是 (E0049865 0766 11 D 1-8AAB-00C0F00910F9) 在這個範例中的 UUID。

變更 TypeLib 的權限

  1. HKEY_CLASSES_ROOT] 視窗中按一下以展開 TypeLib] 機碼,並選取 TypeLib 項目 (UUID)。
  2. 按一下 [安全性] 功能表 的權限。請確認 「 每個人] 項目具有讀取權限 ; 如果不,新增這個使用權限項目。

使用 RegMon 公用程式

如果問題持續發生變更 ClassIDTypeLib 的權限後,也可以使用 「 RegMon 」 公用程式執行失敗一行程式碼時,監視登錄活動。RegMon 記錄顯示是否任何嘗試讀取登錄失敗。您可以從下列 Sysinternals 網站下載 RegMon:
http://technet.microsoft.com/en-us/sysinternals/default.aspx (http://technet.microsoft.com/en-us/sysinternals/default.aspx)
除非您設定篩選器,RegMon 會從所有的程式記錄登錄的所有活動。比方說若要擷取所有的 Microsoft 網際網路資訊伺服器 (IIS) 活動,來中將篩選器 」 inetinfo *; dllhost *; mtx *"。若要進一步限制篩選器,選取 記錄錯誤記錄檔讀取,和 其他記錄] 核取方塊。在記錄檔在 [結果] 欄中尋找 「 ACCDENIED 」 並檢閱任何機碼具有此結果]。您可能需要授與 Everyone 群組 「 讀取 」 權限,這些機碼。

Microsoft 提供協力廠商連絡資訊可協助您尋找技術支援。此連絡人資訊若有變更恕不另行通知。Microsoft 不保證此第三方連絡資訊的正確性。

?考

如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
259176? (http://support.microsoft.com/kb/259176/EN-US/ ) PRB: 錯誤 8002801d 發生於您建立一個 CDONTS.NewMail
266621? (http://support.microsoft.com/kb/266621/EN-US/ ) 水晶報表 8.0 PRB: 程式庫未登錄問題
272693? (http://support.microsoft.com/kb/272693/EN-US/ ) 0x8004005 ASP 錯誤發生水晶報表 8
268553? (http://support.microsoft.com/kb/268553/EN-US/ ) 如果已安裝水晶報表 8 PRB: Visual Studio 安裝問題

這篇文章中的資訊適用於:
  • Microsoft Visual InterDev 1.0 Standard Edition
  • Microsoft Visual InterDev 6.0 Standard Edition
關鍵字:?
kbmt kbctrl kbprb kbsecurity kbsysadmin KB274038 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:274038? (http://support.microsoft.com/kb/274038/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。