首页 > 解决方案 > ogr2ogr 不创建表

问题描述

我试图按照本指南https://alastaira.wordpress.com/ogr2ogr-patterns-for-sql-server/使用 ogr2ogr 命令将一些形状导入 SQL

我使用这个命令:

ogr2ogr -overwrite -f MSSQLSpatial [连接字符串] [shapefile] -nln "shape3" -nlt GEOMETRY

并收到此错误:

错误 1:新功能的 INSERT 命令失败。[Microsoft][ODBC SQL Server Driver][SQL Server]无效的对象名称“dbo.shape3”。错误 1:无法从层 tl_2010_06_zcta510 写入特征 0。错误 1:层 tl_2010_06_zcta510 翻译失败后提前终止翻译(使用 -skipfailures 跳过错误)

该命令不会创建表并且插入失败。

我尝试先创建表并使用命令在其上插入:

ogr2ogr -f "MSSQLSpatial" [连接字符串] [shapefile] -a_srs "ESPG:4269" -lco "GEOM_TYPE=geography" -lco "GEOM_NAME=area" -nln "shapes3"

它工作正常,除了它不加载 GEOGRAPHY 列(区域),它仍然为 NULL。

我使用指南中提供的文件,连接字符串中的用户是管理员,所以这不是权限问题。

谢谢大家。

标签: sql-servergeographyogr2ogr

解决方案


解决了在命令中添加 -lco UPLOAD_GEOM_FORMAT=wkt 的问题,它与一些几何格式有关。

UPLOAD_GEOM_FORMAT:(来自 GDAL 2.0.0)在创建或修改特征时指定几何格式(wkb 或 wkt)。默认值为 wkb。 https://www.gdal.org/drv_mssqlspatial.html


推荐阅读