【发布时间】:2015-03-02 00:03:10
【问题描述】:
安装 VS2015 后,SQL Server 无法再为 hierarchyid CLR 类型调用 ToString() 方法 - 对于某些值它有效,对于其他值它会引发以下异常:
在执行用户定义的过程中发生 .NET Framework 错误 例程或聚合“hierarchyid”: Microsoft.SqlServer.Types.HierarchyIdException:24000:SqlHierarchyId 操作失败,因为 HierarchyId 对象是从 无效的二进制字符串。
这很容易通过运行以下简单查询来重现:
从 HumanResources.Employee 中选择 OrganizationNode.ToString()
我尝试卸载 .NET 4.5.3,但没有帮助。任何已知的解决方法?尝试将 hierarchyid 值转换为 VARCHAR 会导致相同的错误,因此我假设它在后台调用了 ToString()。
【问题讨论】:
-
尝试卸载“Microsoft SQL Server 系统 CLR 类型”或 VS 2015 中的名称。
-
@GSerg 我该怎么做?
-
转到控制面板-程序和功能,找到并卸载?还是启动VS安装程序,选择更改安装并取消勾选功能集中的SQL Server数据类型?
-
@GSerg 这样做了,重新启动 SQL 服务器,仍然损坏(注意:我卸载了 VS 2015,在我安装 VS 2015 的同时没有安装新版本的 SQL CLR 类型)
标签: sql-server visual-studio-2015