尝试在SQL Server 2008 R2中创建新图表时出现此错误:
找不到指定的模块 (MS Visual Database Tools)
计划地点:
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode,IntPtr errorInfo)
在Microsoft.SqlServer.Management.UI.VSIntegration.NativeMethods.ThrowOnFailure(Int32 hr)
在Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VirtualProject.CreateDesigner(Urn origUrn,DocumentType editorType,DocumentOptions aeOptions,IManagedConnection con,String fileName)
在Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VirtualProject.Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ISqlVirtualProject.CreateDesigner(Urn origUrn,DocumentType editorType,DocumentOptions aeOptions,IManagedConnection con,String fileName)
在Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ISqlVirtualProject.CreateDesigner(Urn origUrn,DocumentType editorType,DocumentOptions aeOptions,IManagedConnection con,String fileName)
在Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ScriptFactory.CreateDesigner(DocumentType editorType,DocumentOptions aeOptions,Urn parentUrn,IManagedConnection mc,String fileName)
在Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDocumentMenuItem.CreateDesignerWindow(IManagedConnection mc,DocumentOptions options)
请帮我解决此问题。
答案 0 :(得分:0)
问题似乎与Visual Database Tools DLL有关。
此DLL文件由VS 2010安装程序安装,但在SQL Server 2012安装期间,它将升级到SQL 2012版本的工具。此后,卸载并重新安装SQL或VS将不会删除此较新的DLL,以便允许安装旧版本,因此留下这个恼人的问题。
我如何修复它是因为我设置了一个干净的虚拟机并安装了VS 2010,然后从我的虚拟机中取出了这个原始的DLL并覆盖了我的直播机器上的DLL。就这么简单。
我会假设删除此DLL文件,然后执行VS 2010修复或卸载/重新安装也可以解决问题。
DLL的目录和文件名(在X64机器上)是:C:\ Program Files(x86)\ Common Files \ microsoft shared \ Visual Database Tools \ dsref80.dll
答案 1 :(得分:0)
在我的情况下,问题是我连接到另一台服务器上的SQL Server 2012数据库,而我的机器有SQL Server 2008 R2。安装 SQL Management Studio 2012 解决了这个问题。