Rick Burge created LOG4NET-495: ---------------------------------- Summary: Error when BufferSize in >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)