2016-11-16 6 views
3

私はかなりの間、この問題と戦ってきました。 Oracle 11gデータベースのNumber(38,0)フィールドにログを記録しようとしたとき。私はのInt32のサイズを設定しようとしたNumberフィールドにロギングするときに、Log4netによるOracleへのロギングエラーが発生しましたか?

log4net:ERROR [AdoNetAppender] ErrorCode: GenericFailure. Exception while writing to database System.FormatException: Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)

 <parameter> 
     <parameterName value=":my_param" /> 
     <dbType value="Int32" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%property{my_param}" /> 
     </layout> 
     </parameter> 

:私はこのエラーを取得します。私はスケールと精度を設定して小数点以下を試しています。私は他に何をすべきかは確信していますが、現在の値が数値であることは分かっています。

ログに記録するコードと、値がデフォルトのどこにあるかを示します。

log4net.LogicalThreadContext.Properties[":my_param"] = 132; 
log.Info("Application Start"); //Error occurs here in the output window 

答えて

2

あなたがLogicalThreadContextにmy_paramプロパティを追加しているときに、コロンを削除したいです。

すなわち

log4net.LogicalThreadContext.Properties["my_param"] = 132; 

現在%のプロパティの構文の使用は、あなたが追加しているプロパティの名前と一致しません。

+0

私はそれを理解しましたが、私自身の質問に答えることができませんでした。ありがとう。 –

関連する問題