11.14. Enumerating .NET Data Providers
Problem
You need a list of .NET data providers installed on the machine running your code.
Solution
Use the static GetFactoryClasses() method of the DbProviderFactories class to return information about installed data providers.
The C# code in Program.cs in the project EnumerateDataProviders is shown in Example 11-17.
Example 11-17. File: Program.cs for EnumerateDataProviders solution
using System;
using System.Data;
using System.Data.Common;
namespace EnumerateDataProviders
{
class Program
{
static void Main(string[] args)
{
DataTable dt = DbProviderFactories.GetFactoryClasses( );
foreach (DataRow row in dt.Rows)
Console.WriteLine("{0}\n {1}\n {2}\n {3}\n",
row["Name"], row["Description"], row["InvariantName"],
row["AssemblyQualifiedName"]);
Console.WriteLine("Press any key to continue.");
Console.ReadKey( );
}
}
}The output is shown in Figure 11-16.
Discussion
The static GetFactoryClasses() method of the DbProviderFactories class introduced in .NET Framework 2.0 returns a DataTable containing the information shown about all installed providers that implement the abstract base class DbProviderFactory. The schema of the DataTable is shown in Table 11-10.

Figure 11-16. Output for EnumerateDataProviders solution
Table 11-10. Data provider information columns
Column name | Description |
|---|---|
| Data provider name. |
| Data provider description. |
| A unique ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access