Querying with the DataReader
The CData ADO.NET Provider for Okta implements two ADO.NET interfaces you can use to retrieve data from Okta: OktaDataAdapter and OktaDataReader objects. Whereas OktaDataAdapter objects retrieve a single result set of all the data that matches a query, OktaDataReader objects fetch data in subset increments as needed.
Using the OktaDataReader
The OktaDataReader retrieves data faster than the OktaDataAdapter because it can retrieve data in pages. As you read data from the OktaDataReader, 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 Users table:
C#
string connectionString = "Domain=dev-44876464.okta.com;OAuthClientId=myId;OAuthClientSecret=mySecret;InitiateOAuth=GETANDREFRESH;"; using (OktaConnection connection = new OktaConnection(connectionString)) { OktaCommand cmd = new OktaCommand("SELECT * FROM Users", connection); OktaDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Id"], rdr["ProfileFirstName"])); } }
VB.NET
Dim connectionString As String = "Domain=dev-44876464.okta.com;OAuthClientId=myId;OAuthClientSecret=mySecret;InitiateOAuth=GETANDREFRESH;" Using connection As New OktaConnection(connectionString) Dim cmd As New OktaCommand("SELECT * FROM Users", connection) Dim rdr As OktaDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Id"), rdr("ProfileFirstName"))) End While End Using