2009-08-26 89 views
0

下面的錯誤提示我後,我安裝了我在vb.net中創建的程序,並在運行SQL Server中的DTS程序中運行模塊後,錯誤提示我。有人知道這個錯誤?提前致謝!COM對象錯誤

帶有CLSID {10020200-EB1C-11CF-AE6E-00AA004A34D5}的COM對象無效或未註冊。

回答

0

您是否使用regsvr32工具註冊了該組件(DLL)?

+0

什麼組件? – sef 2009-08-26 08:53:46

+0

在您的應用程序中使用的COM對象。 – adatapost 2009-08-26 09:20:17

+0

是否可以在不安裝MS SQL Server 2000的情況下安裝DTSPkg.dll? – sef 2009-08-27 01:15:09

0

該消息可能試圖告訴您,CLSID {10020200-EB1C-11CF-AE6E-00AA004A34D5}未註冊到COM,或者它引用的dll/exe文件丟失或損壞。

在我的系統上,帶有clsid {10020200-EB1C-11CF-AE6E-00AA004A34D5}的COM組件是數據轉換服務包對象,它是SQL Server的一部分。您可以通過運行regedit並轉到HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ CLSID {10020200-EB1C-11CF-AE6E-00AA004A34D5}來檢查您的系統。

如果此註冊表項不存在,那麼可能是您沒有安裝Data Transformation Services,或者安裝已損壞。嘗試(重新)使用您的SQL Server媒體安裝它。

如果註冊表項存在,請單擊InprocServer32子項。此子鍵的默認值是實現COM CLSID的DLL的路徑。在我的系統上,這是C:\ Program Files \ Microsoft SQL Server \ 80 \ Tools \ Binn \ DTSPkg.dll。該DLL是否存在於您的系統上?如果沒有,COM將無法實例化COM對象。

底線:重新安裝數據轉換服務。

+0

是否可以在不安裝MS SQL Server 2000的情況下安裝DTSPkg.dll? – sef 2009-08-27 01:01:55

+0

我不確定是否可以重新安裝DTS,因爲我只有SQL 2005,而不是2000. 如果DTSPkg.dll存在於您的系統中(它將位於主SQL服務器目錄中/下) ),那麼你可以嘗試打開一個命令框,CD到包含dll的目錄,然後鍵入「regsvr32 DTSPkg.dll」(不帶引號)。這將重新註冊DLL並可能解決問題。 但是,真的,您的SQL安裝已損壞。你應該認真考慮重新安裝它。 – 2009-08-27 08:12:45

0

檢查異常的堆棧跟蹤以確定哪一行代碼拋出錯誤。您應該能夠識別哪個COM對象失敗。

你如何解決這個問題完全取決於它是什麼COM對象。例如,如果事實證明是一個DTS對象,那麼您可以嘗試重新運行SQL Server安裝程序並選擇「修復」選項(如果有的話)。如果可以找到它,也可以嘗試手動自行註冊物理DLL。