【问题标题】:Error message (E_NONINTERFACE) opening SQL Server 2008 R2 SSMS打开 SQL Server 2008 R2 SSMS 的错误消息 (E_NONINTERFACE)
【发布时间】:2015-07-02 20:24:27
【问题描述】:
尝试打开 SQL Server Management Studio 2008 R2 时出现此错误:
无法将“System.__ComObject”类型的 COM 对象转换为接口
键入“Microsoft.VisualStudio.OLE.Interop.IServiceProvider”。这个
操作失败,因为 COM 组件上的 QueryInterface 调用
对于 IID 为“{6D5140C1-7436-11CE-8034-00AA006009FA}”的接口
由于以下错误而失败:不支持此类接口
(来自 HRESULT 的异常:0x80004002 (E_NOINTERFACE))。
(Microsoft.VisualStudio.OLE.Interop)
详情:
- Windows 7 专业版
- SQL Server 2008 R2
- Visual Studio 2010
【问题讨论】:
标签:
sql-server-2008-r2
ssms
【解决方案1】:
我遇到了完全相同的问题,在 Google 上进行了大量搜索并尝试了很多在我的情况下不起作用的不同解决方案后,我终于在基于 stackoverflow (here) 的另一个线程上找到了一个可行的解决方案在social.msdn thread。其他解决方案似乎也可以工作,具体取决于未定义的情况,只要问题原因没有明确定义......
对我有用的解决方案:
regsvr32 "C:\Program Files\Internet Explorer\ieproxy.dll"
如果您运行的是 64 位 Windows,请尝试以下操作:
regsvr32 "C:\Program Files (x86)\Internet Explorer\ieproxy.dll"
对其他人有效的解决方案:
首先注销dll:
C:\windows\system32\regsvr32.exe" /u actxprxy.dll
然后再次注册:“C:\windows\system32\regsvr32.exe”actxprxy.dll
注意:在这两种情况下都使用具有管理权限的命令 shell(Win+R 然后键入 cmd)
【解决方案3】:
感谢用户 1267600 的提示!
我遇到了同样的问题,但就我而言,问题是我不小心将“C:\Program Files (x86)\Internet Explorer”文件夹移动到另一个文件夹,SSMS 开始显示此错误。然后我找到了它并将其移回,一切都恢复了工作。不需要“ieproxy.dll”注册。
*提示 - 不要在“Internet Explorer”文件夹或任何其他与 Windows 相关的软文件夹中移动,你永远不会知道它依赖于什么! :)
【解决方案4】:
我遇到了同样的问题。安装IE11后,注册了ieproxy.dll,SQL Server Management Studio又开始运行了。谢谢!!!