SSRS - 空间数据/地图报告问题

时间:2017-04-21 14:36:20

标签: sql-server visual-studio-2013 reporting-services sql-server-data-tools spatial-query

我在SSRS(SQL Server 2014和VS2013 Shell)中实现我认为应该是一个相当基本的报告时遇到了麻烦。我在一家位于英国的公司工作,我希望使用地图功能显示各种数据。首先,我只想获取客户销售数据并将其绘制在基本的英国地图上。为此,我构建了一个查询,该查询使用客户邮政编码来获取纬度和经度值。然后我使用STPointFromText将它们转换为Geography数据类型,如下所示:

geography::STPointFromText('POINT(' + CAST(longitude AS VARCHAR(20)) + ' ' + 
CAST(latitude AS VARCHAR(20)) + ')', 4326) AS Geog

此数据集包含销售数据,因此分析和空间数据都在一个地方(假设我已正确理解此部分!)。

当我在SSMS中查询此数据并在“空间”选项卡下查看结果时,它看起来非常有前途,即非常清楚地描绘了英国的形状:

spatialoutput SSMS

但是,当我尝试在SSRS中表示这一点时,它就会崩溃。使用SQL Server空间查询选项作为我的数据源,并使用我之前在SSMS中构建和运行的查询,我不断得到一个弹出窗口,其中显示:

'无法确定指定数据集字段中的空间数据类型:Geog'

从这里没有任何作用。我没有看到任何地图或像我在SSRS中所做的任何点。我一直在寻找几个小时但并没有真正找到解决方案,虽然我确实在MSDN上找到了这个:

https://msdn.microsoft.com/en-us/library/hh272532.aspx

'您无法在Visual Studio中使用数据集设计器来返回返回SQL Server空间类型的查询。数据集设计器不支持用户定义的类型(UDT),SQL Server空间类型(SqlGeometry和SqlGeography)属于哪个类别。

我读过的各种文章显示人们只是像我一样构建一个查询,然后将其添加为数据集,之后它会立即检测到空间列和类型。但是,许多确实似乎是SQL Server 2008 R2。上面的文章意味着在GAC中创建文件和创建Windows表单应用程序,这可能需要VS Pro和其他小工具。

如果有人能指出我出错的地方,我将不胜感激!

提前致谢。

0 个答案:

没有答案