OleDbEnumerator.GetRootEnumerator Method    
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns an OleDbDataReader that contains information about the currently installed OLE DB providers, without requiring an instance of the OleDbEnumerator class.
public:
 static System::Data::OleDb::OleDbDataReader ^ GetRootEnumerator();[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("OleDbConnection is not AOT-compatible.")]
public static System.Data.OleDb.OleDbDataReader GetRootEnumerator();public static System.Data.OleDb.OleDbDataReader GetRootEnumerator();[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("OleDbConnection is not AOT-compatible.")>]
static member GetRootEnumerator : unit -> System.Data.OleDb.OleDbDataReaderstatic member GetRootEnumerator : unit -> System.Data.OleDb.OleDbDataReaderPublic Shared Function GetRootEnumerator () As OleDbDataReaderReturns
A OleDbDataReader that contains information about the visible OLE DB providers.
- Attributes
Exceptions
The provider does not support ISourcesRowset.
Exception has occurred in the underlying provider.
Examples
The following console application retrieves information about all the visible OLE DB providers and displays the information in the console window.
Imports System.Data  
Imports System.Data.OleDb  
Module Module1  
  Sub Main()  
    Dim enumerator As New OleDbEnumerator  
    Dim reader As OleDbDataReader = OleDbEnumerator.GetRootEnumerator()  
    DisplayData(reader)  
    Console.WriteLine("Press any key to continue.")  
    Console.ReadKey()  
  End Sub  
  Private Sub DisplayData(ByVal reader As OleDbDataReader)  
    While reader.Read()  
      For i As Integer = 0 To reader.FieldCount - 1  
        Console.WriteLine("{0} = {1}", _  
         reader.GetName(i), reader.GetValue(i))  
      Next  
      Console.WriteLine("==================================")  
    End While  
  End Sub  
End Module  
using System;  
using System.Data;  
using System.Data.OleDb;  
class Program  
{  
 static void Main()  
 {  
   OleDbDataReader reader = OleDbEnumerator.GetRootEnumerator();  
   DisplayData(reader);  
   Console.WriteLine("Press any key to continue.");  
   Console.ReadKey();  
 }  
 static void DisplayData(OleDbDataReader reader)  
 {  
   while (reader.Read())  
   {  
     for (int i = 0; i < reader.FieldCount; i++)  
     {  
       Console.WriteLine("{0} = {1}",  
        reader.GetName(i), reader.GetValue(i));  
     }  
     Console.WriteLine("==================================");  
   }  
 }  
}  
Remarks
The reader returned by this method contains the following columns, all of which contain strings:
| Column Ordinal | Column | Description | 
|---|---|---|
| 0 | SOURCES_NAME | The invariant name of the native OLEDB data source or enumerator. | 
| 1 | SOURCES_PARSENAME | A human-readable name that can be converted to a moniker using the native COM interface IParseDisplayName. Corresponds to the SOURCES_PARSENAME column returned by the native OLE DB sources rowset. | 
| 2 | SOURCES_DESCRIPTION | Description of the native OLE DB data source. Corresponds to the SOURCES_DESCRIPTION column returned by the native OLE DB sources rowset. | 
| 3 | SOURCES_TYPE | One of the following enumeration members: Binder (0), DataSource_MDP (1), DataSource_TDP (2), Enumerator (3). These correspond to the values returned in the SOURCES_TYPE column of the native OLE DB sources rowset. | 
| 4 | SOURCES_ISPARENT | Applicable to enumerators only. If true, indicates that the entry applies to the same enumerator on which GetSourcesRowset was called, implying that it is also included in the sub-enumeration. Corresponds to the SOURCES_ISPARENT column of the native OLE DB sources rowset | 
| 5 | SOURCES_CLSID | A human-readable name, that can be converted to a moniker using the native COM interface IParseDisplayName. Corresponds to the SOURCES_CLSID column returned by the native OLE DB sources rowset. |