我有以下语句,我试图针对 Oracle 表运行,以便将一组结果返回导出:
SELECT
a.CLUSTER_ID,
SDO_CS.transform(a.CELL_GEOM, 4326).GET_WKT() CELL_GEOM,
SDO_CS.transform(a.CELL_CENTROID, 4326).GET_WKT() CELL_CENTROID,
SDO_CS.transform(a.CLUSTER_CENTROID, 4326).GET_WKT() CLUSTER_CENTROID,
a.NUM_POINTS,
a.FEATURE_PK,
SDO_CS.transform(a.CLUSTER_EXTENT, 4326).GET_WKT() CLUSTER_EXTENT
FROM HIGHWAYS.CLUSTER_128000M a
当我对我的数据集运行它时,我收到以下错误:
ORA-06531: Reference to uninitialized collection
ORA-06512: at "MDSYS.SDO_CS", line 2553
ORA-06512: at "MDSYS.SDO_CS", line 2678
这是因为(我相信)数据库中的某些字段可能为空。如果该字段为空,我如何修改代码以考虑到这一点并且不尝试应用转换?代码运行后,我将导出到 SQL Server,由于 SQL Server 在转换时无用,我在复制数据之前在 Oracle 中应用它们,因为它存储在 Oracle 中的 WGS84 (27700) 中,我需要它在 4326 时稍后从 SQL Server 中检索它。