ADO.NET Provider for Google Spanner

Build 23.0.8839

Querying with the DataReader

The CData ADO.NET Provider for Google Spanner implements two ADO.NET interfaces you can use to retrieve data from Google Spanner: GoogleSpannerDataAdapter and GoogleSpannerDataReader objects. Whereas GoogleSpannerDataAdapter objects retrieve a single result set of all the data that matches a query, GoogleSpannerDataReader objects fetch data in subset increments as needed.

Using the GoogleSpannerDataReader

The GoogleSpannerDataReader retrieves data faster than the GoogleSpannerDataAdapter because it can retrieve data in pages. As you read data from the GoogleSpannerDataReader, 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 [CData].[GoogleSpanner].Customer table:

C#

string connectionString = "ProjectId='project1';InstanceId='instance1';Database='db1';OAuthClientId='757060765381';OauthClientSecret='abc';";

using (GoogleSpannerConnection connection = new GoogleSpannerConnection(connectionString)) {
  GoogleSpannerCommand cmd = new GoogleSpannerCommand("SELECT * FROM [CData].[GoogleSpanner].Customer", connection);
  
  GoogleSpannerDataReader rdr = cmd.ExecuteReader();

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

VB.NET

Dim connectionString As String = "ProjectId='project1';InstanceId='instance1';Database='db1';OAuthClientId='757060765381';OauthClientSecret='abc';"

Using connection As New GoogleSpannerConnection(connectionString)
  Dim cmd As New GoogleSpannerCommand("SELECT * FROM [CData].[GoogleSpanner].Customer", connection)

  Dim rdr As GoogleSpannerDataReader = cmd.ExecuteReader()

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

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