1

我无法在 Oracle Database 12c 中初始化点云。

尝试执行以下命令:

CREATE TABLE point_clouds(
 id  NUMBER,
 capture_ts TIMESTAMP,
 point_cloud SDO_PC
);

CREATE TABLE pc_blocks AS select * from mdsys.sdo_pc_blk_table;

INSERT INTO point_clouds (id, point_cloud) VALUES (
 1001,
 sdo_pc_pkg.init(
  basetable => 'point_clouds',
  basecol => 'point_cloud',
  blktable => 'pc_blocks',
  ptn_params => 'blk_capacity=10000',
  pc_extent => mdsys.sdo_geometry(
   2003,
   8307,
   null,
   mdsys.sdo_elem_info_array(1, 1003, 3),
   mdsys.sdo_ordinate_array(289020.90, 4320942.61, 290106.02, 4323641.57)
  ),
  pc_tol => 0.05,
  pc_tot_dimensions => 3
 )
);

但是,在 INSERT 上出现此错误:

Error report:
SQL Error: ORA-13249: Error creating dml trigger
ORA-06512: at "MDSYS.SDO_PC_PKG", line 96
ORA-06512: at line 1
13249. 00000 -  "%s"
*Cause:    An internal error was encountered in the extensible spatial index
       component. The text of the message is obtained from some
       other server component.
*Action:   Contact Oracle Support Services with the exact error text.

该 INSERT 语句有什么问题?

4

1 回答 1

0

我被困了很久,最后通过使用 MDSYS.sdo_pc 而不是 sdo_pc 创建 point_clouds 表来解决它。

    CREATE TABLE point_clouds(
    id  NUMBER,
    capture_ts TIMESTAMP,
    point_cloud MDSYS.SDO_PC
    );
于 2016-02-10T11:16:34.670 回答