我剛剛完成將人口普查區塊形狀文件導入到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