在我的数据库表布局中,有一列的类型为hierarchyid(列索引= 4)。尝试设置新环境(从XEN服务器创建的虚拟Web服务器),然后运行站点时,遇到了以下问题:
hierarchyid
异常消息:DataReader.GetFieldType(4)返回null。异常数据:System.Collections.ListDictionaryInternal
我进行了搜索,发现上面已经有一些主题(例如在MSDN上)。
但是,即使我添加了C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Types.dll库,也似乎SqlHierarchyId无法识别结构中的db类型。
C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Types.dll
SqlHierarchyId
仍然抛出“ DataReader.GetFieldType(4)的异常返回null”。
注意:如果我将VS2010中的C#软件包安装到环境(Windows Server 2008 RC2)上,则将解决此问题,但老板不接受,因为这纯粹是一个简单的Web服务器。
引用项目中的Microsoft.SQLServer.Types dll,对于引用,在引用的属性中将其设置为“ Copy Local”。部署时,这会将DLL与网站打包在一起。然后,您不需要在Web框上安装所有SQL Server即可使用SQL Server数据类型。我这样做是因为我的网站正在使用geography数据类型列,并且遇到了相同的错误。
geography