You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将WKB格式几何图形插入Oracle数据库SDO_GEOMETRY字段表?

Oracle Spatial 直接用WKB插入SDO_GEOMETRY的最优方案

正确实现方式

直接使用SDO_UTIL.FROM_WKBGEOMETRY函数配合HEXTORAW转换,即可将WKB十六进制字符串转为SDO_GEOMETRY对象插入,示例语句如下:

INSERT INTO 你的表名 (geom字段名)
VALUES (SDO_UTIL.FROM_WKBGEOMETRY(HEXTORAW('0101000020110F00003E2773E2619649408FCD44C7C4C64140')));

你之前尝试的方法无效原因

  1. 直接传字符串给SDO_UTIL.FROM_WKBGEOMETRY:该函数要求输入为RAW类型,不能直接传入十六进制字符串,必须通过HEXTORAW转换格式。
  2. 用SDO_GEOMETRY构造函数直接解析WKB:这个构造函数仅支持标准几何参数格式或WKT字符串,不支持直接解析WKB数据。

额外注意事项

  • 如果你的WKB数据不包含SRID信息(即WKB开头为0101000000而非带SRID标识的0101000020),插入后需要手动设置SRID,示例:
    UPDATE 你的表名
    SET geom.SDO_SRID = 4326
    WHERE 条件;
    
  • 可以用SDO_UTIL.TO_WKTGEOMETRY验证转换结果:
    SELECT SDO_UTIL.TO_WKTGEOMETRY(geom字段名) FROM 你的表名;
    

内容的提问来源于stack exchange,提问作者ali nakhaee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 01:25:17