Querying with the DataReader
The CData ADO.NET Provider for Google Data Catalog implements two ADO.NET interfaces you can use to retrieve data from Google Data Catalog: GoogleDataCatalogDataAdapter and GoogleDataCatalogDataReader objects. Whereas GoogleDataCatalogDataAdapter objects retrieve a single result set of all the data that matches a query, GoogleDataCatalogDataReader objects fetch data in subset increments as needed.
Using the GoogleDataCatalogDataReader
The GoogleDataCatalogDataReader retrieves data faster than the GoogleDataCatalogDataAdapter because it can retrieve data in pages. As you read data from the GoogleDataCatalogDataReader, 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 Schemas table:
C#
string connectionString = "InitiateOAuth=GETANDREFRESH;ProjectId=YourProjectId;"; using (GoogleDataCatalogConnection connection = new GoogleDataCatalogConnection(connectionString)) { GoogleDataCatalogCommand cmd = new GoogleDataCatalogCommand("SELECT * FROM Schemas", connection); GoogleDataCatalogDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Type"], rdr["DatasetName"])); } }
VB.NET
Dim connectionString As String = "InitiateOAuth=GETANDREFRESH;ProjectId=YourProjectId;" Using connection As New GoogleDataCatalogConnection(connectionString) Dim cmd As New GoogleDataCatalogCommand("SELECT * FROM Schemas", connection) Dim rdr As GoogleDataCatalogDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Type"), rdr("DatasetName"))) End While End Using