Querying with the DataReader
The CData ADO.NET Provider for SAP HANA XSA implements two ADO.NET interfaces you can use to retrieve data from SAP HANA XSA: SAPHanaXSADataAdapter and SAPHanaXSADataReader objects. Whereas SAPHanaXSADataAdapter objects retrieve a single result set of all the data that matches a query, SAPHanaXSADataReader objects fetch data in subset increments as needed.
Using the SAPHanaXSADataReader
The SAPHanaXSADataReader retrieves data faster than the SAPHanaXSADataAdapter because it can retrieve data in pages. As you read data from the SAPHanaXSADataReader, 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 SampleTable table:
C#
string connectionString = "User=MyUser;Password=MyPassword;URL=https://hxehost:51027/euro.xsodata;"; using (SAPHanaXSAConnection connection = new SAPHanaXSAConnection(connectionString)) { SAPHanaXSACommand cmd = new SAPHanaXSACommand("SELECT * FROM SampleTable", connection); SAPHanaXSADataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Id"], rdr["Column1"])); } }
VB.NET
Dim connectionString As String = "User=MyUser;Password=MyPassword;URL=https://hxehost:51027/euro.xsodata;" Using connection As New SAPHanaXSAConnection(connectionString) Dim cmd As New SAPHanaXSACommand("SELECT * FROM SampleTable", connection) Dim rdr As SAPHanaXSADataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Id"), rdr("Column1"))) End While End Using