Конвертировать геометрию в географию

Я хочу преобразовать геометрию в географию в 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 Имя или номер столбца предоставленных значений не соответствуют определению таблицы.

1 ответ

Это выглядит как gCOMMUNE Таблица имеет другое количество столбцов, чем запрос для выбора данных, которые будут вставлены в нее. Вы должны указать имена столбцов в инструкции INSERT INTO. Предполагая, что есть столбцы с именем id а также 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]
Другие вопросы по тегам