Вот как я настроил elmah для записи в MySQL. В Visual Studio ...
- Установить пакет Elmah Nuget
- Установить пакет Elmah.MySQL Nuget
Эти две установки вносят некоторые изменения в файл web.config, это соответствующие разделы для поиска:
<elmah>
<security allowRemoteAccess="false" />
<errorLog type="Elmah.MySqlErrorLog, Elmah" connectionStringName="elmah-mysql" />
</elmah>
Для этого требовалась новая строка подключения ... elmah уже добавил шаблон для меня, мне просто нужно было ввести правильные учетные данные в:
<connectionStrings>
<add name="DevDB" connectionString="Server=localhost; Database=NZ; Uid=myuserid; Pwd=mypwd" providerName="MySql.Data.MySqlClient"/>
<add name="elmah-mysql" connectionString="Server=localhost; Database=elmah; Uid=myuserid; Pwd=mypwd" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
Убедитесь, что поставщик EntityFramework указан правильно, если вы используете EntityFramework
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
и фабрики DbProvider верны
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
- Получите соответствующий сценарий SQL здесь: elmah.Mysql и запустите сценарий для создания таблицы и процедур. Также обратите внимание, что эти сценарии по умолчанию создают базу данных с именем elmah ... если вы хотите изменить имя базы данных, убедитесь, что она соответствует вашей базе данных в строке подключения выше.
И это все, что мне нужно было сделать, чтобы запустить его.
Примечание : нужно обратить внимание на использование строчных символов для имени вашей БД в приведенной выше строке подключения, так как имена БД MySQL в нижнем регистре ... Первоначально это работало для меня с верхним регистром но потом он сломался, и мне пришлось его поменять.