0

最近問題が発生しました - データ テーブルに値を設定しようとすると、例外が発生します。例外は

System.ArgumentException: 入力文字列が正しい形式ではありませんでした。COLUMN_NAME 列に <42.356> を格納できませんでした。予想される型は Double です。---> System.FormatException: 入力文字列が正しい形式ではありませんでした。

Oracle クライアントを使用しています - dll バージョンは 4.112.2.0 です。データベースでは、列 COLUMN_NAME の型は NUMBER(11,6) です。

oracledataadapter.FillSchema メソッドを使用してデータ表を作成します。私の最初の理解は、データ列のデータ型が System.Decimal になるということでした。ただし、データ列は System.Double として作成されるため、例外です。さらに奇妙な問題は、この例外が開発データベース、QA データベース、または統合環境では報告されず、特定のクライアント データベースでのみ報告されることです。

double として作成されているデータ列は正しいですか? *他に何を見ることができますか?*

4

1 に答える 1

0

問題のクライアントは、小数点記号がコンマである国にいますか? たとえば、ドイツでは 42,356 である必要がありますか? 明示的な形式を指定せずに文字列を double に変換すると、カルチャの問題が発生したようです。

于 2012-04-26T14:38:10.703 に答える