Unable to find the requested .Net Framework Data Provider. It may not be installed

Try running this to get a list of installed providers, and check yours is there:

// This example assumes a reference to System.Data.Common.
static DataTable GetProviderFactoryClasses()
{
    // Retrieve the installed providers and factories.
    DataTable table = DbProviderFactories.GetFactoryClasses();

    // Display each row and column value.
    foreach (DataRow row in table.Rows)
    {
        foreach (DataColumn column in table.Columns)
        {
            Console.WriteLine(row[column]);
        }
    }
    return table;
}

UPDATE: You need to have the MySQL Provider installed on the target machine, it’s called something like “MySQL Connector Net x.x.x” Which you can get from this website

Update 09/06/2022: As this is still looked at for an answer I thought I would just point out that Nuget packages are almost an industry standard, and as such, for newer non-legacy applications I would recommend looking at the MySqlConnector Nuget package which is currently supported, and had an update as recently as 6/5/2022, See mysqlconnector.net for more information.

Leave a Comment