Hi,
This seems more of a feature request than a bug, per se, so I'll post it here.
I recently got mojoportal running under the latest version of Mono, but had some difficulties with the included MySQL library, since it doesn't seem to play well with MySQL > 4.0 - apparantly due to the newer encrypted login protocol, but there may be other reasons. All I got from the exception was that it couldn't connect to any of the servers....
So, I decided to try the ByteFX library which is included by default with Mono. It connects to my MySQL 4.1.10 server ok, but I had to use the techniques described here:
http://dev.mysql.com/doc/mysql/en/old-client.html
to get around the newer encryption. After getting some sample code working, I tried to uncomment the ByteFX includes in dbPortal.cs and build a new mojoPortal.Data.dll. It compiled ok and accepted ByteFX.Data.dll as a reference, but at runtime I got errors about unknown SQL syntax.
The problem is that newer MySQL and ByteFX wants "@" as a parameter markers, instead of "?". So, I searched and replaced every instance of "?" with "@", rebuilt again and referenced ByteFX.Data.dll, and everything works ok.
So then, my request might be obvious by now, I'd like to see dbPortal.cs use a global variable to allow the parameter marker to be configured easily for either library, so instead of hardcode question-marks, it would use something like:
static string P = "@"; // or ?
newMySqlParameter(P + "AllowNewRegistration", MySqlDbType.Int32);
sqlCommand.Append(" " + P + "SiteName , ");
I suppose it'd be kind of a pain to get used to writing new parameters using "P", but it'd sure make it easier to get things working with ByteFX and newer MySQL.
FWIW.
this will open mojoportal up to a wider audience, imho, since there are a lot of users of MySQL > 4.0 nowadays.
FWIW.