问题类型:检索 COM 类工厂中 CLSID 为 {10020200-E260-11CF-AE68-00AA004A34D5} 的组件失败,原因是出现以下错误 80040154 没有注册类 (异常来自 HRESULT0x80040154 (REGDB_E_CLASSNOTREG))
如果使用Visual Studio开发,或者用IIS部署项目时使用到了sqldmo却报错如上(特别是IIS部署项目), 大部分是由于sqldmo在当前计算机没有注册,如果当前是64位操作系统(x64),则需要修改IIS应用程序池。
1、注册sqldmo
第一步:首先将msvcr71.dll, SQLDMO.DLL, Resources\2052\sqldmo.rll,Resources\1033\sqldmo.rll 拷贝到C:\Program Files\Microsoft SQL Server\80\Tools\Binn目录。
下载SQLDMO文件
第二步:打开开始,在运行中输入 regsvr32 "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll" 注册sqldmo.dll。
经过以上两步就注册了sqldmo,应该可以开发或者在IIS上部署使用了
2、如果出错:
C:\Program Files\文件夹仅有Administrator和System的控制权限,而没有其他任何用户的权限,因此需要为Microsoft SQL Server文件夹增加上Network Service 的读取权限。
3、如果还是报错COM 类工厂中 CLSID 为 {10020200-E260-11CF-AE68-00AA004A34D5} 的组件失败,原因是出现以下错误 80040154 没有注册类 (异常来自 HRESULT0x80040154 (REGDB_E_CLASSNOTREG))。
那么你的操作系统应该是64位的,则需要修改IIS的应用程序池,允许32位应用程序:网站所使用的应用程序池-右击 设置应用程序池默认设置-启用32位应用程序设为true