BE.Net + Linux + mono-1.9.1 + mysql == failed to find provider

Aug 5, 2008 at 4:54 AM
Hello,

I try to run BE.Net under linux with mono 1.9.1. If works find with XML but does not with MySQL provider.

mysql provider version 5.2.1 (tested 5.1.4 as well) tryed system installation and tryed to put in Bin directory.
System: mono 1.9.1 -- mon-fastcgi-server, Linux Debian Etch 64bit.

Error Message:
Failed to find or load the registered .Net Framework Data Provider 'MySql.Data.MySqlClient'. () ()

Description: HTTP 500. Error processing request.

Stack Trace:

System.Configuration.ConfigurationErrorsException: Failed to find or load the registered .Net Framework Data Provider 'MySql.Data.MySqlClient'. () ()
  at System.Data.Common.DbProviderFactories.GetFactory (System.String providerInvariantName) [0x00000]
  at BlogEngine.Core.Providers.DbBlogProvider.LoadSettings () [0x00000]
  at BlogEngine.Core.Providers.BlogService.LoadSettings () [0x00000]
  at BlogEngine.Core.BlogSettings.Load () [0x00000]
  at BlogEngine.Core.BlogSettings..ctor () [0x00000]
  at BlogEngine.Core.BlogSettings.get_Instance () [0x00000]
  at ExtensionManager..cctor () [0x00000]


ISSUE No 2:

The MySQL script assumes that table names are case insencitive, it is not true under UNIX and Linux. I need to change all "insert" statements
to lower case in order to make script work

Aug 5, 2008 at 6:44 PM
#1)  Please make sure the mysql provider is registered correctly in your web.config file, see http://www.codeplex.com/blogengine/Thread/View.aspx?ThreadId=32747

#2)  Case sensitivity is one of the things that stops me from using c#.  IMO its really annoying, I just want to type code and have it running without killing production time worrying about sematics like the capitilization of my methods and variables.  If they offered a case insensitive version of CSharp, I would really consider switching.  Also, in MS SQL when you install there as an option to use a case insensitive charset.  Not sure about MYSQL but its a thought.
Aug 6, 2008 at 10:36 AM
Ok. I managed to load the MySQL backend under mono. Few notes:
  1. Add the section you pointed to to Web.Config
  2. Use version 5.1 of library. 5.2 refused to work with mono
Another issue:

In MySQL script the table names created with low letters (no CamelCased) this caused a problem
running MySQL backend under Linux. They should be renamed in consistent way: all camel cased (also few inserts should be fixed as well)
I'll send a patch later (e-mail?).

BTW, the performance is not shining about 45 pages per second at Athlon AMD 3000+ 1G RAM.