打开SQL Server Management Studio提示“值不能为空。参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explorer)”的说明
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
今天有网友在群里发了一张图,是SQL 2008 R2的,打开Microsoft SQL Server Management Studio提示“值不能为空。参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explorer)” 如下图所示
然后点击左下角小红色X号,看了一下错误,错误如下
在 Microsoft.SqlServer.Management.SqlStudio.Explorer.ExplorerViewDescriptor..ctor(IFactoryService factoryService, INavigationViewInfo viewInfo, String urnPath, IDictionary`2 allEntities) 在 Microsoft.SqlServer.Management.SqlStudio.Explorer.NavigationService.GetView(String urnPath) 在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.d__f.MoveNext() 在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.AddFields(List`1 list, IEnumerable`1 fields, IDictionary`2 allValidFields, AddFieldsFlags flags) 在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.GetFields(INodeInformation source, Dictionary`2& allValidColumns) 在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.BuildDynamicItemWithQuery(IList`1 nodes, INodeInformation source, INavigableItem sourceItem, String urnQuery, Boolean registerBuilder, Boolean registerBuiltItems) 在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.BuildDynamicItem(IList`1 nodes, INodeInformation source, INavigableItem sourceItem, IFilterProvider filter) 在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.Build(IList`1 nodes, INodeInformation source, INavigableItem sourceItem, IFilterProvider filter) 在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItem.RequestChildren(IGetChildrenRequest request) 在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ExplorerHierarchyNode.BuildChildren(WaitHandle quitEvent)
打开SQL Server Management Studio提示“值不能为空。参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explorer)”的说明
单纯的看上面的错误,看着跟之前处理过的一些事儿相似,但大致的怀疑就是缓存、.NET、文件夹权限等,这种错误,一般没有单一性质的,可以按照如下几个方式去尝试一下;
一、禁用UAC或用用“以管理员身份运行”进行尝试
二、临时存储文件问题Temp问题造成的;
在C:\Users\用户名\AppData\Local\Temp\或C:\Windows\Temp创建123456文件夹尝试;顺便给予C:\Windows\Temp目录用户完全权限
C:\Documents and Settings\Administrator\Local Settings\Temp
三、SQL Server Management Studio目录问题
创建C:\Users\Documents\SQL Server Management Studio目录 或
1. 打开Windows资源管理器,在导航栏粘贴%USERPROFILE%,或者进入你的用户文件夹。
2. 转到以下目录:Documents\SQL Server Management Studio\Settings 并删除此处找到的所有文件
3. 重新启动SQL Server管理器,一切又恢复正常。
四、.NET Framework闹的
1、卸载.NET\Framework版本,尤其是.NET\Framework 3.5
2、修改C:\Windows\Microsoft.NET\Framework或X64\v2.0.50727\CONFIG\machine.config权限
3、在安装 Framework\v2.0.50727\CONFIG\machine.config 被修改了,并且其他 Windows 账户(不是执行安装的账户)无法访问该文件。授予文件显式权限即可!
4、machine.config文件里的代码
<system.web>
<customErrors = "Off"/>
</system.web>修改为
<system.web>
<customErrors mode="Off"/>
</system.web>
5、目录下找machine.config.default文件,然后获取管理员权限或者更改所有者,把.default 去掉,后缀改为 config进程尝试;
五、系统补丁没更新完成,更新完成就好了!
今日一言:什么是亲人?这个世界上亲人只有一种,那就是担心你的人和心疼你的人,不管这个人和你有没有血缘关系,那都是你最亲的人,其实真正的亲人,不是靠血缘关系来决定的,而是靠对待你的那颗心来决定的。
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

