OleDbEnumerator.GetEnumerator(Type) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Utiliza um enumerador OLE DB específico para devolver um OleDbDataReader que contém informação sobre os fornecedores OLE DB atualmente instalados, sem exigir uma instância da OleDbEnumerator classe.
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
Parâmetros
Devoluções
An OleDbDataReader que contém informações sobre os fornecedores OLE DB solicitados, utilizando o enumerador OLE DB especificado.
Exceções
O fornecedor não suporta o ISourcesRowset.
Houve uma exceção no fornecedor subjacente.
Exemplos
A seguinte aplicação de consola utiliza o componente MSDAENUM para recuperar informações sobre todos os fornecedores OLE DB e apresenta essa informação na janela da consola.
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("==================================");
}
}
}
Observações
O leitor que é devolvido por este método contém as seguintes colunas, todas contendo strings:
| Coluna ordinal | Coluna | Description |
|---|---|---|
| 0 | SOURCES_NAME | O nome invariante da fonte de dados ou enumerador nativo do OLE DB. |
| 1 | SOURCES_PARSENAME | Um nome legível por humanos que pode ser convertido num nome usando a interface COM nativa IParseDisplayName. Corresponde à coluna SOURCES_PARSENAME devolvida pelo conjunto de linhas de fontes nativas do OLE DB. |
| 2 | SOURCES_DESCRIPTION | Descrição da fonte de dados nativa OLE DB. Corresponde à coluna SOURCES_DESCRIPTION devolvida pelo conjunto de linhas de fontes nativas do OLE DB. |
| 3 | SOURCES_TYPE | Um dos seguintes membros da enumeração: Fichário (0), DataSource_MDP (1), DataSource_TDP (2), Enumerador (3). Estes correspondem aos valores retornados na coluna SOURCES_TYPE do conjunto de linhas de fontes nativas do OLE DB. |
| 4 | SOURCES_ISPARENT | Aplicável apenas a enumeradores. Se true, indica que a entrada se aplica ao mesmo enumerador no qual GetSourcesRowset foi chamado, implicando que também está incluído na subenumeração. Corresponde à coluna SOURCES_ISPARENT do conjunto de linhas de fontes nativas do OLE DB |
O OLE DB fornece vários componentes do enumerador, incluindo MSDAENUM, MSDASQL Enumerator, SQLNCLI Enumerator, SQLOLEDB Enumerator e outros. Para mais informações sobre os componentes do enumerador e como os utilizar, consulte a Referência do Programador OLE DB.