0

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

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 数据库或集成环境中没有报告此异常,而仅在一个特定的客户端数据库中报告了此异常。

创建的数据列是否正确? *我还能看什么?*

4

1 回答 1

0

有问题的客户是否在一个小数点分隔符是逗号的国家,例如德国,它应该是 42,356?在未指定显式格式的情况下将字符串转换为双精度时,您可能遇到了文化问题。

于 2012-04-26T14:38:10.703 回答