im遵循本指南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驱动程序] [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。
我正在使用指南中提供的文件,并且连接字符串中的用户是管理员,所以这不是权限问题。
谢谢大家。
答案 0 :(得分:0)
解决了将-lco UPLOAD_GEOM_FORMAT = wkt添加到命令的问题,该命令与某些几何格式有关。
UPLOAD_GEOM_FORMAT :(从GDAL 2.0.0开始)指定几何格式(wkb 或wkt)时创建或修改功能。默认值为wkb。 https://www.gdal.org/drv_mssqlspatial.html