2010-01-02
解决sqlserver无法连接到WMI提供程序
文章分类:数据库
无法连接到WMI提供程序请注意,你只能使用SQLServer配置管理器来管理SQLServer2005服务器。找不到指定的模块。[0x8007007e]
在连接数据库应该经常遇到的问题,尤其是对盗版的xp系统而言。
这主要是通过Java或者vc连接数据库遇到的问题
解决问题的方法:检查一下windows下的system32中是否有framedyn.dll这个系统文件,如果没有到system32下的wbem文件中拷贝framedyn.dll到system32目录下
已解决:无法连接到WMI提供程序。你没有权限或者该服务器无法访问/cannotconnecttoWMIprovider.Youdonothavepermissionorthe……我想用sqlserver做一个数据库的作业,主要是想用一下asp做个网页。首先需要安装sqlserver,刚开始以为是件很简单的事,在我的visualstudio2008的安装包里就有sqlserver2005expressedition的安装软件,直接安装就行了,哪知道后来的过程那叫一个艰辛啊……
先安装sqlserver2005(是英文版的),安装过程非常顺利。然后我想进入ServerConfigurationManager(配置管理器),点击之后就出现了下面这个警告框:
上网搜了搜,在一个老外的博客上找到一个解决方案:(blogs.msdn/echarran/archive/2006/01/03/509061.aspx)
CannotconnecttoWMIprovider.Youdonothavepermissionortheserverisunreachable.NotethatyoucanonlymanageSQLServer2005serverswithSQLServerConfigurationManager.
Invalidclass[0x80041010]
Thesolutionistogotoacommandpromptandthenrunmofcomp.
C:\ProgramFiles\MicrosoftSQLServer\Shared>mofcomp"C:\ProgramFiles\MicrosoftSQLServer\Shared\sqlmgmproviderxpsp2up.mof"
Theoutputwilllooklikebelow
Microsoft(R)32-bitMOFCompilerVersion5.1.2600.2180
Copyright(c)MicrosoftCorp.1997-2001.Allrightsreserved.
ParsingMOFfile:C:\ProgramFiles\MicrosoftSQLServer\Shared\sqlmgmprovider
xpsp2up.mof
MOFfilehasbeensuccessfullyparsed
Storingdataintherepository...
Done!
注意一下:上述的mofcomp命令在C:\WINDOWS\system32\wbem目录下。通过这个博客的留言,貌似有些人用这个方法解决了问题。我进入了windows的命令处理器,按照这个方法试了一下,得到了和他一样输出的结果,很兴奋,以为问题解决了。再次进入ServerConfigurationManager,不幸的是还是弹出了同样的警告框。继续在网上搜,由于关键字大部分是英文的,搜到的英文网页中除了上述的方法转载就是抱怨……
接下来只好自己想办法了,我先想到这是不是sqlserver2005自身的问题,现在sqlserver2008express已经出了,就安装个sqlserver200吧。于是卸载sqlserver2005,安装sqlserver2008(安装sqlserver2008之前还得安装.netframeworksp2和windowsinstaller从微软官网下载即可,安装好后重启电脑),这次安装的是个中文版。
sqlserver2008安装过程比sqlserver2005的过程麻烦了一些,主要是需要配置数据库管理员,使用本机的管理员账户就行。安装成功后,怀着忐忑的心情进入配置管理器,点击之后该死的警告框又弹了出来,还是不行。
在网上继续搜,这时看到有人说是管理员(administrator)没有networkservice的权限,所以WMI无法打开。设置的方法很简单,网络上都有:
1右击“我的电脑”-->“管理”
2在“本地用户和组”内的Administrators组上双击,出现添加属性对话框。
3单击“添加”按钮,出现添加用户对话框
4单击“高级”按钮,再单击“搜索”(或是“立即查找”)按钮。注:此'NTAUTHORITY\NETWORKSERVICE'用户为系统内置帐户,无法直接添加。
5在“搜索结果”内选择“NetworkService”用户后,单击“确定”
按照以上的步骤设置之后,进入配置管理器,问题依旧出现……到了这里实在让人郁闷的不行。
这时又看到一个新方法:检查一下windows下的system32中是否有framedyn.dll这个系统文件,如果没有到system32下的wbem文件中拷贝framedyn.dll到system32目录下。我进到system32目录找framedyn.dll文件,果然没有找到,再进入system32\wbem目录,找framedyn.dll,拷贝到system32目下。再次进入配置管理器,这次终于成功了!!!问题终于解决了!!!这主要是通过Java或者vc连接数据库遇到的问题。
以上所述三种方法,总是一个在有些人的电脑上可以起作用。我很不幸尝试到第三种方法才解决了问题,也有可能这三个操作在我的电脑上都是需要的