当我尝试从EntityFramework将十进制x = -258.9697存储到数据库时,出现了“ ORA-16550:截断结果”的异常。 x在数据库中的列是NUMBER(7,4),如果我将x存储为正的十进制值258.9697,这没问题。如果我将比例尺增加到(10,4),则解决了异常。有人知道原因吗?

最佳答案

您使用哪个Oracle提供程序和版本?听起来像Bug 28227512


ODP托管驱动程序引发的OracleDecimal.ConvertToPrecScale方法
ORA-16550错误的负值逐渐消失,因为负号是
在计算精度时要考虑的因素。


如果我没看错,应该在ODP.NET版本19.1和更高版本中对其进行修复。

09-10 13:14
查看更多