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 ===

Reply via email to