OleDbEnumerator.GetEnumerator(Type) メソッド

定義

OleDbDataReader クラスのインスタンスを要求せずに、特定の OLE DB 列挙子を使用して、現在インストールされている OLE DB プロバイダーに関する情報を格納している OleDbEnumerator を返します。

public:
 static System::Data::OleDb::OleDbDataReader ^ GetEnumerator(Type ^ type);
public static System.Data.OleDb.OleDbDataReader GetEnumerator (Type type);
static member GetEnumerator : Type -> System.Data.OleDb.OleDbDataReader
Public Shared Function GetEnumerator (type As Type) As OleDbDataReader

パラメーター

type
Type

Type

戻り値

指定された OLE DB 列挙子を使用して、要求された OLE DB プロバイダーに関する情報を格納している OleDbDataReader

例外

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

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

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

Imports System.Data  
Imports System.Data.OleDb  

Module Module1  

  Sub Main()  
    Dim enumerator As New OleDbEnumerator  
    Dim reader As OleDbDataReader = _  
     OleDbEnumerator.GetEnumerator(Type.GetTypeFromProgID("MSDAENUM"))  

    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.GetEnumerator(Type.GetTypeFromProgID("MSDAENUM"));  

   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 説明
0 SOURCES_NAME ネイティブ OLE DB データ ソースまたは列挙子の不変名。
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列に対応します

OLE DB には、MSDAENUM、MSDASQL 列挙子、SQLNCLI 列挙子、SQLOLEDB 列挙子など、いくつかの列挙子コンポーネントが用意されています。 列挙子コンポーネントとその使用方法の詳細については、「 OLE DB プログラマー リファレンス」を参照してください

適用対象