2

尝试使用 NHibernate 从 Oracle 数据库查询 SDO_ORDINATE_ARRAY 时出现 OverflowException。

public static unsafe object GetValue(OracleConnection con, IntPtr pUdt, int attrIndex)异常在类的方法中的 Oracle.DataAcess 中引发OracleCustomTypeBase<T>

从研究中我发现这似乎源于 Oracle 对十进制值使用比 .NET 更高的精度,因此在从数据库中提取值并将它们转换为本机 .NET 类型时崩溃。

我已经尝试修改代码以获取OracleDecimal对象、设置精度然后获取Value属性(返回 .NET 小数)——不走运。

我可以做些什么来解决这个问题?请注意,我无法为自定义类型指定映射,因为我从存储过程或从假DUAL表中选择获得 SDO_ORDINATE_ARRAY。

如果有任何问题,我很乐意回答。

4

0 回答 0