2016-02-25 29 views
0

它不再顯示任何錯誤,但它也不會將任何內容插入到MySQL數據庫中。有任何想法嗎?我用虛擬文本替換了我的登錄信息。MySQL Appender不在Log4Net的數據庫中插入數據

編輯

有關於連接類型的錯誤。

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> 
+0

編輯:有一個錯誤,我更新了我的帖子。 – Z0q

回答

1

你缺少MySQL.Data DLL或在你的bin目錄的依賴。可能是你沒有直接參考你的項目,因爲它沒有被複制。做一個參考,並確保它被複制到你的bin目錄中。

+0

謝謝。我在想這會是這樣的。我從哪裏得到正確的數據DLL文件? – Z0q

+0

我發現它:http://stackoverflow.com/a/3877080/5437864 – Z0q