即时尝试使用ogr2ogr命令将一些形状导入SQL到本指南https://alastaira.wordpress.com/ogr2ogr-patterns-for-sql-server/之后
我使用这个命令:
ogr2ogr -overwrite -f MSSQLSpatial [连接字符串] [shapefile] -nln“shape3”-nlt几何
并收到此错误:
错误1:新功能的INSERT命令失败。 [Microsoft] [ODBC SQL Server驱动程序] [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。
我使用指南中提供的文件,连接字符串中的用户是管理员,因此它不是权限问题。
谢谢大家。
解决了它将-lco UPLOAD_GEOM_FORMAT = wkt添加到命令中,它与某些几何格式相关。
UPLOAD_GEOM_FORMAT :(来自GDAL 2.0.0)在创建或修改要素时指定几何格式(wkb或wkt)。默认值为wkb。 https://www.gdal.org/drv_mssqlspatial.html