MySQL .NET Connector Madness

As I’ve been writing about here for a while, my big learning project of 2006 was to pick up MySQL and to build a web site using ASP.NET with MySQL as the back-end. This went really well, better than I could have expected. For someone who has experience with SQL Server, the learning curve isn’t too bad, and MySQL clearly did a lot of things with developer productivity in mind.

One of the things that I try to do when I write articles or do talks on technologies is to use the latest versions of everything, so when I started preparing my upcoming VSLive talk, I upgraded everything on my dev boxes, including the server, the ADO.NET providers, etc.

MySQL provides two sets of "connectors" for .NET developers. (.NET developers know these as "ADO.NET providers".) The connectors in the 1.0 line are more stable, but they don’t support the new features of ADO.NET that came out in .NET 2.0, which means that stuff like declarative data sources as well as the MySQL Visual Studio add-in won’t work — all this stuff expects to see the 5.x connector installed in the global assembly cache.

Unfortunately, the 5.x line of connectors isn’t ready for prime time yet — some folks (including me) have had problems consistently connecting to the server with the latest 5.0.x connector. So yesterday I backed out the upgrade and I’m using the 1.0.9 connector for now. I should mention that this version of the connector is also live in production on right now and it’s 100% solid.

To their credit, Reggie and the MySQL team do a great job of providing information and feedback when issues like this come up, as they inevitably do — I feel like I can get way more information from MySQL than I ever could from Microsoft or Oracle in situations like this. So I’ll hang in there, and if they can get another rev of the 5.x connector I’ll give that a whirl before my VSLive talk.

Update: They released a new version of the 5.x connector that may fix this problem.