[ 
https://issues.apache.org/jira/browse/LOG4NET-495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15022945#comment-15022945
 ] 

Dominik Psenner commented on LOG4NET-495:
-----------------------------------------

Thanks for testing the appender. Your report is sound and I'll fix it as you 
suggested. I'll also try to write down a test so that we can be sure this 
usecase is covered by the unittests.

> Error when BufferSize is >1, parameter already defined
> ------------------------------------------------------
>
>                 Key: LOG4NET-495
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-495
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.15
>         Environment: Windows 7
>            Reporter: Rick Burge
>
> Downloaded the subject revision 1714197 in order to get the 
> ADONetAppender_SqlServer appender to work as this revision corrected a 
> problem. The appender began to work. However if the BufferSize was increased 
> to >1 an error was reported that the parameter @log_date was already defined.
> The error appears to be in SendBuffer. Because the IDbCommand dbCmd is being 
> reused inside the foreach (LoggingEvent e in Events), each time the 
> param.Prepare(dbCmd) is called for the same appender it will attempt to add a 
> parameter that has already been added.
> My local solution was to clear the commands parameter list prior to adding 
> the preparing the paramters:
>    foreach (LoggingEvent e in events)
>                     {
>                             dbCmd.Parameters.Clear(); //*****added this 
> line*****
>                         // Set the parameter values
>                         foreach (AdoNetAppenderParameter param in 
> m_parameters)
>                         {
>                             param.Prepare(dbCmd);
>                             param.FormatValue(dbCmd, e);
>                         }
>                         // Execute the query
>                         dbCmd.ExecuteNonQuery();
>                     }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to