2016-11-16 4 views
3

Я занимаюсь этой проблемой довольно долгое время. Когда я пытаюсь войти в поле Number (38,0) в базе данных Oracle 11g. Я получаю эту ошибку:Log4net logging to Oracle throwing error при регистрации в поле Number?

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> 

Я попытался установить размер Int32. Я пробовал десятичную и десятичную с настройкой масштаба и точности. Я не уверен, что еще делать, но я знаю, что значение присутствует числовое.

Вот несколько кодов, вызывающих журнал регистрации, а также где значение по умолчанию.

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

ответ

2

Вы хотите удалить этот двоеточие, когда добавляете свойство my_param в LogicalThreadContext.

т.е.

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

В настоящее время ваше использование синтаксиса% имущественному несовпадающие с именем свойства вы добавляете.

+0

Я понял это, но не смог ответить на свой вопрос. Спасибо друг. –