【问题标题】:MySQL Appender not inserting data in database in Log4NetMySQL Appender 未在 Log4Net 中的数据库中插入数据
【发布时间】:2016-06-08 06:48:18
【问题描述】:

它不再显示任何错误,但它也不会向 MySQL 数据库中插入任何内容。有任何想法吗?我用虚拟文本替换了我的登录信息。

编辑

连接类型有错误。

log4net:ERROR [AdoNetAppender] ErrorCode: GenericFailure. Failed to load connection type [MySql.Data.MySqlClient.MySqlConnection, MySql.Data, Version=5.5.47, Culture=neutral, PublicKeyToken=c5687fc88969c44d]
System.IO.FileNotFoundException: Could not load file or assembly 'MySql.Data, Version=5.5.47, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The system cannot find the file specified.
File name: 'MySql.Data, Version=5.5.47, Culture=neutral, PublicKeyToken=c5687fc88969c44d'
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
   at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
   at System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase)
   at log4net.Util.SystemInfo.GetTypeFromString(Assembly relativeAssembly, String typeName, Boolean throwOnError, Boolean ignoreCase)
   at log4net.Util.SystemInfo.GetTypeFromString(String typeName, Boolean throwOnError, Boolean ignoreCase)
   at log4net.Appender.AdoNetAppender.ResolveConnectionType()

这是我的App.config 文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.log4NetConfigurationSectionHandler, log4net"/>
  </configSections>

  <log4net>
    <!-- appenders here -->

    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="1" />
      <connectionType value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data, Version=5.5.47, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
      <connectionString value="Server=myhost;Database=mydb;UID=myuser;Password=mypassword" />
      <commandText value="INSERT INTO mylog (date) VALUES (?date)" />
      <parameter>
        <parameterName value="date" />
        <dbType value="DateTime" />
        <layout type="log4net.Layout.RawTimeStampLayout" />
      </parameter>
    </appender>


    <root>
      <level value="Debug"/>
      <appender-ref ref="ConsoleAppender" />
      <appender-ref ref="FileAppender" />
      <appender-ref ref="RollingFileAppender" />
      <appender-ref ref="ADONetAppender" />
      <appender-ref ref="SmtpAppender" />
    </root>
  </log4net>

  <startup> 
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
  </startup>

  <appSettings>
    <add key="log4net.Internal.Debug" value="true"/>
  </appSettings>

</configuration>

【问题讨论】:

  • 编辑:有一个错误,我更新了我的帖子。

标签: c# mysql configuration log4net


【解决方案1】:

您的 bin 目录中缺少 MySQL.Data dll 或依赖项。可能是您的项目中没有直接引用,因此它没有被复制。做一个引用并确保它被复制到你的 bin 目录中。

【讨论】:

  • 谢谢。我在想它会是这样的。从哪里获得正确的数据 DLL 文件?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-20
  • 2016-01-29
  • 2012-06-16
  • 1970-01-01
  • 1970-01-01
  • 2017-05-12
相关资源
最近更新 更多