Pobieranie danych przy użyciu AdomdDataReader
Podczas pobierania dane analityczne, AdomdDataReader obiekt zapewnia prawidłową równowagę między obciążenie i interaktywność.AdomdDataReader Obiekt pobiera tylko do odczytu, tylko do przodu, spłaszczone strumienia danych ze źródło dane analityczne.Ten niebuforowanego strumień danych umożliwia Logika proceduralna wydajne przetwarzanie wyniki ze źródło dane analityczne sekwencyjnie.Dzięki temu AdomdDataReader użyteczna podczas pobierania dużych ilości danych wyświetlić celów, ponieważ dane nie są buforowane w pamięci.
AdomdDataReader Można również zwiększyć wydajność aplikacji pobierając dane, tak szybko, jak jest dostępna, zamiast czekać na zakończenie wyniki kwerendy mają być zwrócone.AdomdDataReader Także zmniejsza obciążenie systemu, ponieważ domyślnie tego czytnika przechowuje tylko jeden wiersz w czas w pamięci.
Zależnościami zoptymalizowaną wydajność, jest AdomdDataReader obiektu zawiera mniej informacji o pobrane dane niż inne metody pobierania danych.AdomdDataReader Obiekt nie obsługuje modelu dużego obiektu do reprezentowania danych lub metadane, ani nie zezwala modelu obiektowego dla bardziej złożonych funkcje analityczne, takie jak komórka stornowania.Jednak AdomdDataReader obiektu zawierają zestaw metod jednoznacznie pobierania zestaw komórek danych i metoda pobierania zestaw komórek metadane w formacie tabelarycznym.Ponadto AdomdDataReader implementuje IDbDataReader interfejs obsługi powiązanie danych i pobierania danych przy użyciu SelectCommand metoda, z dane systemowe nazw Microsoft.Biblioteka klas .NET Framework.
Pobieranie danych z AdomdDataReader
Aby użyć AdomdDataReader obiektu do pobierania danych, wykonaj następujące kroki:
Utwórz nowe wystąpienie obiektu.
Aby utworzyć nowe wystąpienie AdomdDataReader wywołanie klasy, Execute lub ExecuteReader metoda AdomdCommand obiektu.
Pobieranie danych.
Jak polecenie uruchamia kwerendę ADOMD.NET zwraca wyniki w Resultset format, format tabeli zgodnie z opisem w XML for Analysis specyfikacji, aby spłaszczyć danych dla AdomdDataReader obiektu.Format tabeli jest niezwykła podczas badania dane analityczne, uwzględniając wymiarze zmiennej w takich danych.
ADOMD.NET przechowuje te tabelarycznych wyniki w buforze sieci klient aż żądania przy użyciu jednej z następujących metod:
Wywołanie Read metoda AdomdDataReader obiektu.
Read Metoda uzyskuje wiersz z wyniki kwerendy.Następnie przekazać nazwę lub porządkowa odwołanie do kolumny, aby Item właściwość dostępu każda kolumna zwracanych wierszy.Na przykład pierwszej kolumna w bieżącym wierszu nosi, nazwa_kolumny.Następnie, albo reader[0].ToString() lub reader["ColumnName"].ToString() zwróci zawartość pierwszej kolumna w bieżącym wierszu.
Wywołania jednej z metod typu metoda dostępu maszynowy.
AdomdDataReader Zawiera szereg metod typu metoda dostępu maszynowy — metody, które umożliwiają dostęp do wartości kolumna w ich typy danych w trybie macierzystym.Gdy znasz podstawowy typ danych wartości kolumna, wpisane metoda dostępu metoda zmniejsza liczbę konwersji typu wymagane podczas pobierania wartości kolumna i tym samym zapewnia najwyższą wydajność.
Dostępnych metod maszynowy metoda dostępu należą GetDateTime, GetDouble, i GetInt32.Zobacz pełną listę metod typu metoda dostępu maszynowy AdomdDataReader.
Zamknij czytelnika.
Zawsze powinien wywołać Close metoda po zakończeniu korzystania z AdomdDataReader obiektu.Podczas wystąpienie AdomdDataReader obiekt jest otwarty, AdomdConnection jest używany wyłącznie przez AdomdDataReader.Nie można uruchomić polecenia na wystąpienie AdomdConnection, włącznie z utworzeniem innego AdomdDataReader lub System.Xml.XmlReader, dopóki nie zamkniesz oryginał AdomdDataReader.
Przykład pobieranie danych z AdomdDataReader
Poniższy przykład kodu iterację AdomdDataReader obiektów i zwraca pierwsze dwie wartości, jak ciągi z każdego wiersza.
If Reader.HasRows Then
Do While objReader.Read()
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", _
objReader.GetString(0), objReader.GetString(1))
Loop
Else
Console.WriteLine("No rows returned.")
End If
objReader.Close()
if (objReader.HasRows)
while (objReader.Read())
Console.WriteLine("\t{0}\t{1}", _
objReader.GetString(0), objReader.GetString(1));
else
Console.WriteLine("No rows returned.");
objReader.Close();
Pobieranie metadanych z AdomdDataReader
While an instance of an AdomdDataReader object is open, you can retrieve schema information, or metadata, about the current recordset using the GetSchemaTable method.GetSchemaTable returns a DataTable object that is populated with the schema information for the current recordset.DataTable Zawiera jeden wiersz dla każdej kolumna zestawu rekordów.Każdej kolumna wiersza tabela Schemat mapuje do właściwość kolumn zwracanych w zestaw komórek, gdzie ColumnName jest nazwą właściwość i wartości kolumna jest wartość właściwość.
Przykład pobierania metadanych z AdomdDataReader
Poniższy przykład kodu zapisuje się informacje dotyczące schematu dla AdomdDataReader obiektu.
Dim schemaTable As DataTable = objReader.GetSchemaTable()
Dim objRow As DataRow
Dim objColumn As DataColumn
For Each objRow In schemaTable.Rows
For Each objColumn In schemaTable.Columns
Console.WriteLine(objColumn.ColumnName & " = " & objRow(objColumn).ToString())
Next
Console.WriteLine()
Next
DataTable schemaTable = objReader.GetSchemaTable();
foreach (DataRow objRow in schemaTable.Rows)
{
foreach (DataColumn objColumn in schemaTable.Columns)
Console.WriteLine(objColumn.ColumnName + " = " + objRow[objColumn]);
Console.WriteLine();
}
Pobieranie wiele zestawów wyników
Wyszukiwania danych obsługuje pojęcia tabele zagnieżdżone, które ADOMD.NET opisuje jak zagnieżdżonych zestawów wierszy.Do pobierania zestaw wierszy zagnieżdżonych, skojarzonych z każdym wierszem, call GetDataReader metoda.