首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >log4net AdoNetAppender - SqlParameterCollection不包含参数

log4net AdoNetAppender - SqlParameterCollection不包含参数
EN

Stack Overflow用户
提问于 2015-11-13 23:49:42
回答 2查看 1.5K关注 0票数 9

在我的一个项目中,我得到了这个错误:

代码语言:javascript
复制
System.IndexOutOfRangeException: SqlParameterCollection does not contain SqlParameter with ParameterName "@log_date".
в System.Data.SqlClient.SqlParameterCollection.GetParameter(String parameterName)
в System.Data.Common.DbParameterCollection.System.Data.IDataParameterCollection.get_Item(String parameterName)
в log4net.Appender.AdoNetAppenderParameter.FormatValue(IDbCommand command, LoggingEvent loggingEvent)
в log4net.Appender.AdoNetAppender.SendBuffer(IDbTransaction dbTran, LoggingEvent[] events)
в log4net.Appender.AdoNetAppender.SendBuffer(LoggingEvent[] events)

以下是附加器配置(它在其他项目中工作得很好):

代码语言:javascript
复制
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
        <bufferSize value="1" />
        <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <connectionString value="Data Source=*****;Initial Catalog=****;Integrated Security=SSPI" />
        <commandText value="INSERT INTO [LogsDB].[dbo].[Logs] ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
        <parameter>
            <parameterName value="@log_date" />
            <dbType value="DateTime" />
            <layout type="log4net.Layout.RawTimeStampLayout" />
        </parameter>
        .
        .
        .
        <parameter>
            <parameterName value="@exception" />
            <dbType value="String" />
            <size value="2000" />
            <layout type="log4net.Layout.ExceptionLayout" />
        </parameter>
    </appender>

如果有人有这个问题,我会非常感谢你的帮助

EN

回答 2

Stack Overflow用户

发布于 2015-11-16 17:54:14

安装-打包Log4net -Version 2.0.3

为我工作(有同样的问题)

票数 12
EN

Stack Overflow用户

发布于 2015-11-17 16:33:40

解决了它。将Log4Net升级到2.04!然后运行上面提供的命令!不知道我在做什么。但是我现在可以登录到数据库了!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33696604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档