Symptom
Writing to Oracle you encounter an error like this:|INFORM|An error occurred while converting feature information to an Oracle object in column `SHAPE' |ERROR |A fatal error has occurred. Check the logfile above for details |ERROR |(.\ocigeom.cpp:4816) - (.\ocigeom.cpp:4680) - (.\ocigeom.cpp:7626) - (.\ocigeom.cpp:7692)
or
Oracle Spatial writer error converting columns: GEOMYou may see more detailed information if you turn on "Log Debugging Information"
in Tools > FME Options > Translation
If you see the following when you turn on "Log Debugging Information":
Error appending x coordinate to position 64 of an Oracle geometry's ordinate array: `OCI-22165: given index [1048576] must be in the range of [0] to [1048575]'
You most likely have reached the maximum vertices permitted in 1 oracle feature.
Cause
This indicates that you are trying to create a feature in Oracle that has too many ordinates or vertices.
Oracle states the following maximums: The maximum SDO_ORDINATE_ARRAY size is 1,048,576 numbers, the maximum number of vertices in an SDO_GEOMETRY object depends on the number of dimensions per vertex: 524,288 for two dimensions, 349,525 for three dimensions, and 262,144 for four dimensions.
Refer to the Oracle® Spatial Developer's Guide 11g Release 2 (11.2) section 2.2 SDO_GEOMETRY Object Type.
In some discussion forums it's indicated that Oracle 11gR2 has a new SDO_GEOMETRY which has increased the SDO_ORDINATE_ARRAY size.
You may encounter this problem when loading large 2D areas and large 3D CAD drawings with multi-surface aggregates.
Resolution
You can try generalizing the feature to reduce the number of vertices.
If the features are 3D and you don't care about the elevation you can try setting the parameter on the Oracle Writer in 2D, this may require stripping the elevation away from the input features before writing.
Comments
0 comments
Please sign in to leave a comment.