sql-server - 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。
我使用指南中提供的文件,连接字符串中的用户是管理员,所以这不是权限问题。
谢谢大家。
解决方案
解决了在命令中添加 -lco UPLOAD_GEOM_FORMAT=wkt 的问题,它与一些几何格式有关。
UPLOAD_GEOM_FORMAT:(来自 GDAL 2.0.0)在创建或修改特征时指定几何格式(wkb 或 wkt)。默认值为 wkb。 https://www.gdal.org/drv_mssqlspatial.html
推荐阅读
- bash - 内联 unix 命令作为文件名
- module - 内部表示未隐藏在 f# 模块中
- security - 如何在 scapy 的 tls 中发送原始数据?
- karate - 空手道 API 测试 - 从响应中删除重复值并将其与新响应进行比较
- java - Google 应用引擎 没有与此 URL 匹配的处理程序
- python-3.x - 没有提供渐变
- highcharts - Highcharts - 向箱线图添加边框半径
- flutter - Navigator.removeRoute & Navigator.removeRouteBelow
- autodesk-forge - AutodeskForge 支持哪个版本的 Revit?
- c++ - 使用带有 Windows Active Directory 的 LDAP 进行用户身份验证 (Windows Server 2016)