2009-08-26 97 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。