我正在使用
Oracle Database 11g企业版11.2.0.3.0 64位生产(“EE”)和
Oracle Database 11g Express Edition 11.2.0.2.0 64位生产(“XE”)。
以下查询
select
sdo_geom.sdo_buffer(
mdsys.sdo_geometry(2002,NULL,NULL,
mdsys.sdo_elem_info_array(1,2,1),
mdsys.sdo_ordinate_array(10,10,15,15)
),
10, 0.0005
)
from dual;
在EE中有效,但在XE中无效。 EE正确返回:
MDSYS.SDO_GEOMETRY(2003,NULL,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1005,4,1,2,1,3,2,2,7,2,1,9,2,2),MDSYS.SDO_ORDINATE_ARRAY(17.0710678118655,2.92893218813453,22.0710678118655,7.92893218813453,22.0710678118655,22.0710678118655,7.92893218813453,22.0710678118655,2.92893218813453,17.0710678118655,2.92893218813452,2.92893218813453,17.0710678118655,2.92893218813453))
然而,XE只返回未修改的几何体:
MDSYS.SDO_GEOMETRY(2002,NULL,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1),MDSYS.SDO_ORDINATE_ARRAY(10,10,15,15))
根据Oracle Locator Documentation, Table B-1,SDO_GEOM.SDO_BUFFER函数也是Oracle Locator和XE的一部分。可能是不同行为的原因是什么?