我刚刚完成将人口普查区块形状文件导入到Microsoft SQL Server 2012中,并且现在在尝试对我带入的数据使用某些地理特征(STContains,STWithin,UnionAggregate等)时遇到问题。我检查了.prj文件导入我的.shp文件之前,我相信它是geogrpahy而不是几何类型。如何将Microsoft.SqlServer.Types导入Microsoft SQL Server 2012?
这是我一直在努力的例子,只是为了测试它(其中直接来自MSDN网站):
DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::Parse('CURVEPOLYGON (COMPOUNDCURVE (CIRCULARSTRING (-122.200928 47.454094, -122.810669 47.00648, -122.942505 46.687131, -121.14624 45.786679, -119.119263 46.183634), (-119.119263 46.183634, -119.273071 47.107523, -120.640869 47.569114, -122.200928 47.454094)))');
SET @h = geography::Parse('POINT(-121.703796 46.893985)');
select @g.stcontains(@h)
这是我收到的错误:
Msg 6506, Level 16, State 10, Line 6
Could not find method 'stcontains' for type 'Microsoft.SqlServer.Types.SqlGeography' in assembly 'Microsoft.SqlServer.Types'
我对这个主题做了一些研究,似乎我需要安装某种附加功能。我查看了我的C:文件夹,因为我看到了通过Program Files/Microsoft SQL Server/100/SDK/Assemblies/Microsoft.SqlServer.Types.dll安装它的建议,但因为找不到'Assemblies'文件夹而陷入困境。我还看到了一个建议,即下载Microsoft SQL Server 2012功能包(http://www.microsoft.com/en-us/download/details.aspx?id=29065),但我不确定究竟需要什么,如果这甚至是合适的位置。
任何帮助,你可能会提供将不胜感激。提前致谢。
我遇到同样的问题。任何人都有这个答案?或者任何人都可以向Microsoft提交错误报告?我们正在运行SQL Server 2014,并且数据库兼容级别为120,并且在SSMS中仍然出现“找不到方法.STContains for Microsoft.SQLServer.Types.SQLGeography in assembly Microsoft.SQLServer.Types”中的错误。我们是否需要安装Service Pack?一个功能包,或者什么? 我试过不同的情况,如.STContains,.STcontains和.stcontains。没有工作。 – Baodad