I had this test program that used a connection string to open a Jet format database. Worked just fine. I copied the connection string over to a more complex project, and all of a sudden I got an exception saying “Could not find installable ISAM”. Wow. Looking around, there’s lots of info about that message, some of it from Microsoft, like here and here. None of that seemed to have anything to do with my problem, though.
Know what it was? The connection string should have been this:
Provider=Microsoft.Jet.OLEDB.4.0;Mode=Share Deny None;data source=blah.mdb;user id=Admin;password=;, but instead I had accidentally modified it to this:
Provider=Microsoft.Jet.OLEDB.4.0;Mode=Share Deny None;datasource=blah.mdb;user id=Admin;password=;
Spot the difference? Yeah, right… Microsoft: how about an “Unknown parameter in connection string” exception, or at least a “Missing ‘data source’ parameter”. Could not find installable ISAM? WTF?