【问题标题】:Insert data received from QGIS into MS SQL table将从 QGIS 接收到的数据插入到 MS SQL 表中
【发布时间】:2019-06-26 11:06:58
【问题描述】:

我正在 QGIS 中生成一个图层,其中包含我需要在地图上显示的点要素。为此,我需要将这些点要素的纬度和经度及其详细信息保存在 MS SQL 数据库中。

我尝试了多种方法:

  • 已创建数据库连接并将数据库表添加为层(例如-Layer1)。然后,我提供了本地层作为 Layer1 的输入。
  • 我也尝试在 DB Manager(QGIS) 中执行 sql 查询,但在插入查询中出现此错误:Query execution error on CREATE TEMP VIEW _tview AS *****: 1 - near "INSERT": syntax error
  • 我也尝试将矢量图层导入数据库,然后我得到以下 错误:Error9-Provider virtual has no createEmptyLayer method

我需要一些指导,以便在创建图层时将数据保存到表格中。

我需要保存图层的属性,以便我可以在通过上传 KML 文件(从 QGIS 生成)创建的地图上生成标记。任何帮助表示赞赏。

插入声明

INSERT INTO dbName.SchemaName.Tablename(Name, Longitude, Latitude) VALUES("abc",65.26,39.215)

提前致谢。

【问题讨论】:

  • 你能发布导致你的语法错误的查询吗?
  • 这是一个简单的INSERT查询:INSERT INTO dbName.SchemaName.Tablename(Name, Longitude, Latitude) VALUES("abc",65.26,39.215)
  • 我删除了我的答案,因为即使将字符串转义从“更改为”后您仍然遇到问题。查询是否在 Sql Server Management Studio 中运行?
  • 是的。查询在 ssms 中完美运行

标签: sql-server ssms qgis


【解决方案1】:

如果有人遇到同样的问题,我已经解决了。步骤如下:

  1. 创建与数据库的连接,然后将所需的表添加为层。您将能够在“图层”窗口中看到一个新图层。

  2. 右键单击图层(从数据库表中导出)并选择“打开属性表”选项。

  3. 单击工具栏中的“编辑”选项,根据需要填充数据,然后通过从工具栏中选择保存选项来保存值。

【讨论】:

    猜你喜欢
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2011-07-25
    • 2012-10-31
    • 2019-12-21
    • 2019-03-30
    相关资源
    最近更新 更多