By using the GetFactoryClasses method, you can enumerate data providers that are installed on your computer. These data providers are listed in the machine.config file.
The results are returned as a DataTable named DbProviderFactories that contains these columns:
| Column ordinal | Column name | Example output | Description |
|---|---|---|---|
0 |
Name |
Odbc Data Provider |
Readable name for the data provider |
1 |
Description |
.Net Framework Data Provider for Odbc |
Readable description of the data provider |
2 |
InvariantName |
System.Data.Odbc |
Name that can be used programmatically to refer to the data provider |
3 |
AssemblyQualifiedName |
System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 |
Fully-qualified name of the factory class, which contains enough information to instantiate the object. |
The following example enumerates data providers that are installed on the local computer.
Imports System.Data.Common
Module Module1
Sub Main()
Dim providerTable As DataTable = _
DbProviderFactories.GetFactoryClasses()
' Enumerate the available providers:
For Each row As DataRow In providerTable.Rows
For Each col As DataColumn In providerTable.Columns
Console.WriteLine("{0}: {1}", col.ColumnName, _
row(col.ColumnName))
Next
Next
Console.WriteLine()
Console.WriteLine("Press any key to continue...")
Console.ReadKey()
End Sub
End Module
using System;
using System.Data;
using System.Data.Common;
class Program
{
static void Main()
{
DataTable providerTable = DbProviderFactories.GetFactoryClasses();
// Enumerate the available providers:
foreach (DataRow row in providerTable.Rows)
{
foreach (DataColumn col in providerTable.Columns)
{
Console.WriteLine("{0}: {1}", col.ColumnName, row[col.ColumnName]);
}
}
Console.WriteLine();
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
}