1

我想在 SQL Server 中将几何转换为地理;我关注了这篇文章:

https://blogs.msdn.microsoft.com/edkatibah/2008/08/19/working-with-invalid-data-and-the-sql-server-2008-geography-data-type-part-1b/

这是我的查询:

INSERT INTO gCOMMUNE         
SELECT 
      [dbo].[commune].[ogr_fid], 
      GEOGRAPHY::STGeomFromWKB(commune.ogr_geometry.STAsBinary(),4326)
FROM [IMMATS].[dbo].[commune]

但是当我运行命令进行转换时,我得到了这个错误:

消息 213,级别 16,状态 1,第 26 行 提供的值的名称或列号与表的定义不匹配。

4

1 回答 1

1

看起来gCOMMUNE表的列数与选择要插入其中的数据的查询不同。您必须在INSERT INTO语句中指定列名。假设有名为idand的列geom(根据您的说明,它们是 [ogr_fid] 和 [ogr_geog]),您的语句如下所示:

INSERT INTO gCOMMUNE([ogr_fid], [ogr_geog])
SELECT 
      [dbo].[commune].[ogr_fid], 
      GEOGRAPHY::STGeomFromWKB(commune.ogr_geometry.STAsBinary(),4326)
FROM [IMMATS].[dbo].[commune]
于 2018-11-30T10:18:43.257 回答