log4net AdoNetAppender未找到ODBC的库文件

log4net AdoNetAppender未找到ODBC的库文件,log4net,Log4net,我正在尝试使用log4net的AdoNetAppender将记录写入事件历史记录表。我们使用ODBC是因为我们有各种数据库系统的客户,ODBC足以满足我们的需要。但是,我无法连接到我的数据库。这是我的配置文件: <?xml version="1.0" encoding="utf-8"?> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

我正在尝试使用log4net的AdoNetAppender将记录写入事件历史记录表。我们使用ODBC是因为我们有各种数据库系统的客户,ODBC足以满足我们的需要。但是,我无法连接到我的数据库。这是我的配置文件:

<?xml version="1.0" encoding="utf-8"?>
<log4net>

  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date - %message%newline" />
    </layout>
  </appender>
  <appender name="OdbcLogger" type="log4net.Appender.AdoNetAppender">
      <connectionType value="System.Data.Odbc.Connection, System.Data"/>
      <connectionString value="Dsn=Algoma;Server=localhost;Port=5432;uid=anneal;pwd=anneal" />
    <bufferSize value="1" />
      <commandText value="INSERT INTO event_history (description) values (?)" />
      <parameter>
        <parameterName value="message" />
        <dbType value="String" />
        <size value="4000" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%message" />
        </layout>
      </parameter>
    </appender>

  <root>
    <level value="DEBUG" />
    <appender-ref ref="ConsoleAppender" />
    <appender-ref ref="OdbcLogger" />
  </root>

</log4net>
有人能指出我做错了什么吗?或者给我举一个使用AdoNetAppender通过ODBC写入数据库的示例


非常感谢

我通过指定版本号、公钥和区域性使其正常工作:

<appender name="OdbcLogger" type="log4net.Appender.AdoNetAppender">
      <connectionType value="System.Data.Odbc.OdbcConnection, System.Data, Version=4.0.30319.18020,publicKeyToken=b77a5c561934e089,culture=neutral"/>
      <connectionString value="Dsn=Algoma;Server=localhost;Port=5432;uid=anneal;pwd=anneal" />
    <bufferSize value="1" />
      <commandText value="INSERT INTO event_history (description) values (?)" />
      <parameter>
        <parameterName value="message" />
        <dbType value="String" />
        <size value="4000" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%message" />
        </layout>
      </parameter>
    </appender>


我想知道除了在谷歌搜索中靠运气之外,如何找到公钥,我就是这样找到的。我发现gacutil会告诉我的

首先将
connectionType
值设置为
System.Data.Odbc.OdbcConnection,System.Data
。这不是我显示的吗?您的配置有
System.Data.Odbc.Connection,System.Data
。我花了很长时间才发现差异。谢谢你,我还是有同样的错误。
<appender name="OdbcLogger" type="log4net.Appender.AdoNetAppender">
      <connectionType value="System.Data.Odbc.OdbcConnection, System.Data, Version=4.0.30319.18020,publicKeyToken=b77a5c561934e089,culture=neutral"/>
      <connectionString value="Dsn=Algoma;Server=localhost;Port=5432;uid=anneal;pwd=anneal" />
    <bufferSize value="1" />
      <commandText value="INSERT INTO event_history (description) values (?)" />
      <parameter>
        <parameterName value="message" />
        <dbType value="String" />
        <size value="4000" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%message" />
        </layout>
      </parameter>
    </appender>