ADO.NET Provider for Microsoft Power BI XMLA

Build 24.0.9060

Querying with the DataReader

The CData ADO.NET Provider for Microsoft Power BI XMLA implements two ADO.NET interfaces you can use to retrieve data from Microsoft Power BI XMLA: PowerBIXMLADataAdapter and PowerBIXMLADataReader objects. Whereas PowerBIXMLADataAdapter objects retrieve a single result set of all the data that matches a query, PowerBIXMLADataReader objects fetch data in subset increments as needed.

Using the PowerBIXMLADataReader

The PowerBIXMLADataReader retrieves data faster than the PowerBIXMLADataAdapter because it can retrieve data in pages. As you read data from the PowerBIXMLADataReader, it periodically requests the next page of results from the data source, if required. This causes results to be returned at a faster rate. The following example selects all the columns from the [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer table:

C#

string connectionString = "initiateoauth=GETANDREFRESH";

using (PowerBIXMLAConnection connection = new PowerBIXMLAConnection(connectionString)) {
  PowerBIXMLACommand cmd = new PowerBIXMLACommand("SELECT * FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer", connection);
  
  PowerBIXMLADataReader rdr = cmd.ExecuteReader();

  while (rdr.Read()) {
    Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Country"], rdr["Education"]));
  }
}

VB.NET

Dim connectionString As String = "initiateoauth=GETANDREFRESH"

Using connection As New PowerBIXMLAConnection(connectionString)
  Dim cmd As New PowerBIXMLACommand("SELECT * FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer", connection)

  Dim rdr As PowerBIXMLADataReader = cmd.ExecuteReader()

  While rdr.Read()
    Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Country"), rdr("Education")))
  End While
End Using

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9060