ADO.NET Provider for Amazon Redshift

Build 23.0.8839

Querying with the DataReader

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

Using the RedshiftDataReader

The RedshiftDataReader retrieves data faster than the RedshiftDataAdapter because it can retrieve data in pages. As you read data from the RedshiftDataReader, 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 "sales_db"."public".Orders table:

C#

string connectionString = "User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;";

using (RedshiftConnection connection = new RedshiftConnection(connectionString)) {
  RedshiftCommand cmd = new RedshiftCommand("SELECT * FROM \"sales_db\".\"public\".Orders", connection);
  
  RedshiftDataReader rdr = cmd.ExecuteReader();

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

VB.NET

Dim connectionString As String = "User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;"

Using connection As New RedshiftConnection(connectionString)
  Dim cmd As New RedshiftCommand("SELECT * FROM \"sales_db\".\"public\".Orders", connection)

  Dim rdr As RedshiftDataReader = cmd.ExecuteReader()

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

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