Retrieving Data Using the AdomdDataReader
Podczas pobierania dane analityczne AdomdDataReader obiekt zapewnia dobrą równowagi między koszty i interakcję. The AdomdDataReader object retrieves a read-only, forward-only, flattened stream of data from an dane analityczne urządzenie źródłowe. Ten niebuforowanego strumień danych umożliwia procedurach logiki wydajnie kolejno przetworzyć wyniki ze urządzenie źródłowe dane analityczne.Dzięki temu AdomdDataReader dobrym rozwiązaniem podczas pobierania dużych ilości danych w celach wyświetlania, ponieważ dane nie są buforowane w pamięci.
The AdomdDataReader can also increase application performance by retrieving data as soon as it is available, instead of waiting for the complete wyniki of the query to be returned. The AdomdDataReader also reduces system overhead because, by default, this reader stores only one row at a czas in memory.
Zależnościami w celu optymalizacji wydajności polega na tym, że AdomdDataReader obiekt zawiera mniej informacji na temat pobrane dane niż inne metody pobierania danych. The AdomdDataReader object does not support a large object model for representing data or metadane, nor does this object model allow for more complex analytical features like komórka writeback. Jednak AdomdDataReader obiekt zapewnia zestaw jednoznacznie metoda do pobierania danych zestaw komórek i metoda dla pobierania metadane zestaw komórek w formacie tabelarycznym. Ponadto AdomdDataReader implementuje IDbDataReader interfejs obsługi wiązania z danymi i pobierania danych przy użyciu SelectCommand metoda z System.Data obszar nazw biblioteki klas systemu Microsoft .NET Framework.
Pobieranie danych z AdomdDataReader
Aby użyć AdomdDataReader obiekt do pobierania danych, wykonaj następujące kroki:
Utwórz nowe wystąpienie obiektu.
Aby utworzyć nową instancję AdomdDataReader klasy, należy wywołać Execute() lub ExecuteReader() Metoda AdomdCommand obiekt.
Pobieranie danych.
Jak polecenie wykonuje kwerendę, program ADOMD.NET zwraca wyniki w Resultset Format, format tabeli zgodnie z opisem w języku XML dla specyfikacji analiz do Spłaszcz dane dla AdomdDataReader obiekt. Format tabeli jest niezwykła podczas badania dane analityczne, biorąc pod uwagę zmiennej wymiarze w tych danych.
Program ADOMD.NET przechowuje te wyniki tabelarycznych w buforze sieci na klient aż żądania przy użyciu jednej z następujących metod:
Wywołanie Read() Metoda AdomdDataReader obiekt.
The Read() metoda obtains a row from the query wyniki. Następnie można wprowadzić nazwę lub liczbą porządkową odwołanie kolumna na Item() Właściwość, aby uzyskać dostęp do każdej z kolumn zwracanych wierszy. Na przykład pierwszej kolumna w bieżącym wierszu ma nazwę, element ColumnName.Następnie albo reader[0].ToString() lub reader["ColumnName"].ToString() Zwraca zawartość pierwszej kolumna w bieżącym wierszu.
Wywołanie funkcji z jednej z metod metoda dostępu pisma.
The AdomdDataReader provides a series of typed metoda dostępu methods—methods that let you access kolumna values in their native data types. Podstawowy typ danych wartości kolumna jest znana, metoda akcesora wpisywanych zmniejsza liczbę konwersja typu wymagane podczas pobierania wartości kolumna i w ten sposób, zapewnia największą wydajność.
Dostępne metody wpisywanych metoda dostępu należą GetDateTime(Int32), GetDouble(Int32), a GetInt32(Int32). Aby uzyskać pełną listę metod typu metoda dostępu pisma zobacz [Methods.T:Microsoft.AnalysisServices.AdomdClient.AdomdDataReader].
Zamknąć czytnika.
Zawsze należy wywołać Close() Metoda po zakończeniu korzystania z AdomdDataReader obiekt. Podczas wystąpienie AdomdDataReader obiekt jest otwarty, AdomdConnection jest używana wyłącznie przez AdomdDataReader. Nie można uruchomić wszystkie polecenia w wystąpieniu AdomdConnection, włączając w to tworzenie innego AdomdDataReader lub System.Xml.XmlReader, dopóki nie zamkniesz oryginał AdomdDataReader.
Przykładem pobieranie danych z AdomdDataReader
W poniższym przykładzie kodu iterację AdomdDataReader obiekt i zwraca pierwsze dwie wartości, jako ciągi znaków, 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 metadane 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.The DataTable will contain one row for each kolumna of the recordset. Każdej kolumna wiersza tabela Schemat jest mapowany do właściwość kolumna w zestaw komórek, gdzie ColumnName jest nazwą tej właściwość, a wartość kolumna jest wartość właściwość.
Przykładem Pobieranie metadane z AdomdDataReader
W poniższym przykładzie kodu zapisuje się informacje dotyczące schematu dla AdomdDataReader obiekt.
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();
}
Trwa pobieranie wiele zestawów wyników
wyszukiwanie danych obsługuje pojęcia tabele zagnieżdżone, który udostępnia program ADOMD.NET jako zagnieżdżonych zestawów wierszy.W celu pobrania zestaw wierszy zagnieżdżonych, skojarzone z każdym wierszem, wywołanie GetDataReader(Int32) Metoda.