你可以尝试把 .NET 程序 里面的, 保存 SQL 查询结果的那个 变量的数据类型, 修改一下。我估计这个问题的原因,是因为 Oracle 的执行结果, 如果以 数值方式来存储的话, 可能超过了 .NET 程序的精度。也就是 执行 SQL 的时候, 是不出错的。出错在于, 将Oracle里面的执行结果, 赋值给 .NET 程序变量的时候, .NET 程序的变量的精度不足,不能保存 Oracle的查询结果, 因此报错了。