ODP.Net - Oracle NUMBER(11,6)列是数据表中的System.Double

时间:2012-04-26 14:36:25

标签: odp.net

最近遇到了一个问题 - 我们在尝试在数据表中设置值时遇到异常。

是个例外

System.ArgumentException:输入字符串的格式不正确。不能存储< 42.356>在COLUMN_NAME专栏中。预期类型为Double。 ---> System.FormatException:输入字符串的格式不正确。

我们正在使用oracle客户端 - DLL版本是4.112.2.0。在数据库中,列COLUMN_NAME的类型为NUMBER(11,6)。

我们使用 oracledataadapter.FillSchema方法创建数据表。我最初的理解是数据列将具有System.Decimal的数据类型。但是,数据列创建为System.Double - 因此是例外。更奇怪的问题是我们的开发数据库,​​QA数据库或集成环境中没有报告此异常,只报告在一个特定的客户端数据库中。

数据列是否创建为双重正确? * 我还能看到什么? *

1 个答案:

答案 0 :(得分:0)

有问题的客户是否在小数点分隔符为逗号的国家/地区,例如德国应该是42,356?在将字符串转换为double而未指定显式格式时,您可能会遇到文化问题。