Возможно, вам уже поздно, но, возможно, кто-то может использовать мое решение проблемы.
Я столкнулся с этой проблемой при создании пользовательского шейп-файла для импортера Oracle Locator в C #.
Я изменил тип переменной ordinatesArray с decimal [] на double [] в классе SdoGeometry. Такое же изменение (десятичное или двойное) было необходимо для
открытый класс OrdinatesArrayFactory: OracleArrayTypeFactoryBase {}
и
OrdinatesArray = GetValue ((int) OracleObjectColumns.SDO_ORDINATES) в методе MapToCustomObject.
На самом деле код работал нормально с десятичным типом, когда я импортировал данные с помощью инструмента oracle.spatial.util.SampleShapefileToJGeomFeature.
Проблемы начались, когда я импортировал данные с помощью своего инструмента (геометрия шейп-файла в WKB, а затем вставил в Oracle, используя
INSERT INTO some_table (GEOM) VALUES (SDO_UTIL.FROM_WKBGEOMETRY ())
По какой-то причине ординаты слишком велики для десятичной дроби, хотя я занимался точностью.