To confirm your version of CocoBase:
You can check which version of CocoBase you're using, either by instantiating an instance of thought.CocoBase.CocoPowder, and printing the string cocopowderinstance.getVersion(), and/or you can check the version.txt file in your %coco_home%\version.txt file.
To resolve your issue with the NegativeScale, most likely this is resulting from bad jdbc result set meta data. By default, the CocoBase runtime in recent releases sets the cocoprop property of "use.resultscale" to true. What this property does is uses the Result Set Metadata to determine the scale of bigdecimal numbers (resultSetMetadata.getScale(fieldposition) is the specific facility. Sometimes jdbc drivers return invalid (negative) result scale values - and then when that jdbc value is used, then the resulting jdbc resultSet.getBigDecimal(fieldposition,scale) fails to read the value properly.
Have you enabled debug to confirm what's actually happening with the SQL to see if this is the problem?
THOUGHT Support
|