Language

OleDbEnumerator.GetRootEnumerator メソッド

定義

OleDbDataReader クラスのインスタンスを必要とせずに、現在インストールされている OLE DB プロバイダーに関する情報を含むOleDbEnumeratorを返します。

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.OleDbDataReader
static member GetRootEnumerator : unit -> System.Data.OleDb.OleDbDataReader
Public Shared Function GetRootEnumerator () As OleDbDataReader

返品

表示されている OLE DB プロバイダーに関する情報を含む OleDbDataReader 。

属性

例外

プロバイダーは ISourcesRowset をサポートしていません。

基になるプロバイダーで例外が発生しました。

例

次のコンソール アプリケーションは、表示されているすべての OLE DB プロバイダーに関する情報を取得し、コンソール ウィンドウに情報を表示します。

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("==================================");  
   }  
 }  
}  

注釈

このメソッドによって返されるリーダーには次の列が含まれ、そのすべてが文字列を含みます。

列序数 Column Description
0 SOURCES_NAME ネイティブ OLEDB データ ソースまたは列挙子の不変名。
1 SOURCES_PARSENAME ネイティブ COM インターフェイス IParseDisplayName を使用してモニカーに変換できる、人間が判読できる名前。 ネイティブ OLE DB ソース行セットによって返されるSOURCES_PARSENAME列に対応します。
2 SOURCES_DESCRIPTION ネイティブ OLE DB データ ソースの説明。 ネイティブ OLE DB ソース行セットによって返されるSOURCES_DESCRIPTION列に対応します。
3 SOURCES_TYPE 次のいずれかの列挙メンバー: Binder (0)、DataSource_MDP (1)、DataSource_TDP (2)、列挙子 (3)。 これらは、ネイティブ OLE DB ソース行セットのSOURCES_TYPE列に返される値に対応します。
4 SOURCES_ISPARENT 列挙子にのみ適用されます。 true場合は、エントリが GetSourcesRowset が呼び出されたのと同じ列挙子に適用されることを示します。これは、エントリがサブ列挙にも含まれていることを意味します。 ネイティブ OLE DB ソース行セットのSOURCES_ISPARENT列に対応します
5 SOURCES_CLSID ネイティブ COM インターフェイス IParseDisplayName を使用してモニカーに変換できる、人間が判読できる名前。 ネイティブ OLE DB ソース行セットによって返されるSOURCES_CLSID列に対応します。

適用対象