【问题标题】:ORA-13029 - Invalid SRID in the SDO_GEOMETRY objectORA-13029 - SDO_GEOMETRY 对象中的 SRID 无效
【发布时间】:2020-07-15 08:12:17
【问题描述】:

我突然收到以下错误:

ORA-13029 - Invalid SRID in the SDO_GEOMETRY object

尝试使用触发器更新表的几何图形时。新几何对象的 SRID 设置为 3009。表的元数据设置为 SRID 3009,表中的所有几何都设置为 SRID 3009,所以在我看来应该不会出现错误?

任何关于寻找更多内容的建议都会有所帮助。

【问题讨论】:

  • 你在使用 Oracle 19c 吗??
  • 是的,数据库是最近从 12c 迁移过来的。

标签: oracle oracle19c


【解决方案1】:

据报道,从 12c 迁移到 19c 后,3D 几何图形在 19c 中被报告为 INVALID,但在 12.2 中被评估为 VALID。示例:

12.2.0.1

SQL> select instance_name, version from v$instance;

INSTANCE_NAME    VERSION
---------------- -----------------
ORCL_12c         12.2.0.1.0

SQL> SELECT toid,
  2     t.geometry.SDO_SRID SRID,
  3     SUBSTR(t.geometry.SDO_GTYPE, 1, 1) DIM_COUNT,
  4     SUBSTR(t.geometry.SDO_GTYPE, 4, 1) GTYPE,
  5     SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(t.geometry, 0.05) VALIDATION_RES
  6  FROM test_geom t;

TOID                     LENGTH DIM_ GTYP VALIDATION_RES
-------------------- ---------- ---- ---- ---------------
testdata101               27700 3    3    TRUE
testdata201               27700 3    3    TRUE
testdata301               27700 3    3    TRUE
testdata401               27700 3    3    TRUE
testdata501               27700 3    3    TRUE

19c

SQL> select instance_name, version from v$instance;

INSTANCE_NAME    VERSION
---------------- -----------------
ORCL_19c         19.0.0.0.0

SQL> SELECT toid,
  2     t.geometry.SDO_SRID SRID,
  3     SUBSTR(t.geometry.SDO_GTYPE, 1, 1) DIM_COUNT,
  4     SUBSTR(t.geometry.SDO_GTYPE, 4, 1) GTYPE,
  5     SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(t.geometry, 0.05) VALIDATION_RES
  6  FROM test_geom t;

TOID                     LENGTH DIM_ GTYP VALIDATION_RES
-------------------- ---------- ---- ---- ---------------
testdata101               27700 3    3    13029
testdata201               27700 3    3    13029
testdata301               27700 3    3    13029
testdata401               27700 3    3    13029
testdata501               27700 3    3    13029

此行为是由于未发布的软件缺陷造成的。 应用修复此问题的最新 Spatial MERGE 补丁 31022826。

【讨论】:

  • 非常感谢您的回答!尽管当我尝试您提供的 SQL 语句时,所有现有的几何图形都返回有效。但在这种情况下,新几何是 2d 的。例如:MDSYS.SDO_GEOMETRY(2001, 3009, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1, 1), MDSYS.SDO_ORDINATE_ARRAY(187538.78, 6557957.025)) 但是我之前在另一个已经存在 3D 几何的情况下遇到了同样的错误在表格中,也许您提供的信息可以帮助解决该问题。
  • 这只是一个例子。我知道有几个与 19c 中的 Spatial 相关的错误以及在 12c 中可以正常工作的几何图形。您必须应用补丁并联系支持 很可能是因为它是 Spatial 中的错误
  • 好的。非常感谢您的建议,将检查它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
  • 1970-01-01
  • 1970-01-01
  • 2014-01-24
相关资源
最近更新 更多