This was fixed on May 3, 2005: http://svn.apache.org/viewcvs.cgi?rev=312281&view=rev
--- "Wanner, Nick" <[EMAIL PROTECTED]> wrote: > I am trying to set a SQL Server text field to null if the string I am > putting in is null. > If I set the properties like this: > > if (stringText == null) > loggingEvent.Properties["@textData1"] = System.DBNull.Value; > else > loggingEvent.Properties["@textData1"] = stringText; > > An exception is thrown in log4net when it trys to execute the > command. > The exception's message is something like "The statement is > incorrect". > It works fine if I put an empty string in the property like this: > if (stringText == null) > loggingEvent.Properties["@textData1"] = string.empty; > else > loggingEvent.Properties["@textData1"] = stringText; > > Do I need to use a different layout for the @textdata1 parameter to > get > this to work? > If so, is there an existing one that will work? > I think what the layout needs to do is put null in the commandtext > when > the value is null or System.DBNull.Value. > > Any suggestions? > > thanks, > Nick > > <log4net debug="true"> > <appender name="DatabaseAppender" > type="log4net.Appender.ADONetAppender"> > <bufferSize value="1" /> > <param name="ConnectionType" > value="System.Data.SqlClient.SqlConnection, > System.Data, Version=1.0.5000.0, Culture=neutral, > PublicKeyToken=b77a5c561934e089" /> > <commandText value="INSERT INTO [RescueNetLog] ([LogDate], > [User],[File],[Message],[LineNumber],[Level],[Type],[Component],[Machine > ],[Thread],[Function],[Logger],[StringData1],[StringData2],[StringData3] > ,[FloatData1],[FloatData2],[FloatData3],[TextData1]) VALUES > (@log_date, > @user, @file, @message, @line_number, @level, @type, @component, > @machine, @thread, @function, @logger, @stringdata1, @stringdata2, > @stringdata3, @floatdata1, @floatdata2, @floatdata3, @textData)" /> > <param name="Parameter"> > <param name="ParameterName" value="@textdata1" /> > <param name="DbType" value="String" /> > <param name="Size" value="4000" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@user" /> > <param name="DbType" value="String" /> > <param name="Size" value="50" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@file" /> > <param name="DbType" value="String" /> > <param name="Size" value="250" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@message" /> > <param name="DbType" value="String" /> > <param name="Size" value="3000" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@line_number" /> > <param name="DbType" value="String" /> > <param name="Size" value="50" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@level" /> > <param name="DbType" value="String" /> > <param name="Size" value="25" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="%p" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@type" /> > <param name="DbType" value="String" /> > <param name="Size" value="25" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@component" /> > <param name="DbType" value="String" /> > <param name="Size" value="100" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="%a" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@machine" /> > <param name="DbType" value="String" /> > <param name="Size" value="50" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@thread" /> > <param name="DbType" value="String" /> > <param name="Size" value="10" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="%t" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@log_date" /> > <param name="DbType" value="DateTime" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@function" /> > <param name="DbType" value="String" /> > <param name="Size" value="250" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@logger" /> > <param name="DbType" value="String" /> > <param name="Size" value="250" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="%c" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@stringdata1" /> > <param name="DbType" value="String" /> > <param name="Size" value="1000" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@stringdata2" /> > <param name="DbType" value="String" /> > <param name="Size" value="1000" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@stringdata3" /> > <param name="DbType" value="String" /> > <param name="Size" value="1000" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@floatdata1" /> > <param name="DbType" value="Double" /> > <param name="Size" value="8" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@floatdata2" /> > <param name="DbType" value="Double" /> > <param name="Size" value="8" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > <param name="Parameter"> > <param name="ParameterName" value="@floatdata3" /> > <param name="DbType" value="Double" /> > <param name="Size" value="8" /> > <param name="Layout" type="log4net.Layout.PatternLayout"> > <param name="ConversionPattern" value="[EMAIL PROTECTED]" /> > </param> > </param> > </appender> > <!-- Level Hierarchy: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, > === message truncated ===
