DataBind Charts to Oracle Eloqua Reporting Data
DataBinding facilitates two-way interaction with data through UI controls. Using the CData ADO.NET Provider for Oracle Eloqua Reporting streamlines the process of binding Oracle Eloqua Reporting data to Windows Forms and Web controls within Visual Studio. In this article, we will demonstrate using wizards to establish a binding between Oracle Eloqua Reporting data and a chart that dynamically updates. Additionally, the code walk-through section will guide you through the creation of a chart using just 10 lines of code.
Binding Data to a Chart
DataBinding to a Chart consists of three steps: Instantiate the control, configure the data source, and databind.
Configure the Connection and Select Database Objects
To create a chart control and establish a connection to Oracle Eloqua Reporting, follow the steps outlined below using the Data Source Configuration Wizard. Within the wizard, you'll have the option to choose the specific Oracle Eloqua Reporting entities you wish to bind to.
- In a Windows Forms project, drag and drop a Chart control from the toolbox to the form. In the Data section of the Chart properties, select DataSource and then select Add Project Data Source from the menu.
- In the Data Source Configuration Wizard that appears, select Database -> Dataset.
- In the Choose Your Data Connection step, click New Connection.
In the Add Connection dialog, click Change to select the CData Oracle Eloqua Reporting Data Source.
Below is a typical connection string:
AuthScheme=Basic;User=user;Password=password;Company=MyCompany;
Oracle Eloqua Reporting supports the following authentication methods:
- Basic authentication (User and Password)
- OAuth 2.0 code grant flow
- OAuth 2.0 password grant flow
Basic Authentication (User and Password)
To perform authentication with a user and password, specify these properties:
- AuthScheme: Basic.
- Company: The company name associated with your Oracle Eloqua Reporting account.
- User: Your login account name.
- Password: Your login password.
OAuth Authentication (Code Grant Flow)
To authenticate with the OAuth code grant flow, you must set AuthScheme to OAuth and create a custom OAuth application. For information about how to create a custom OAuth application, see the Help documentation.
Then set the following properties:
- InitiateOAuth: GETANDREFRESH. Used to automatically get and refresh the OAuthAccessToken.
- OAuthClientId: The client Id assigned when you registered your application.
- OAuthClientSecret: The client secret that was assigned when you registered your application.
- CallbackURL: The redirect URI that was defined when you registered your application.
When you connect, the driver opens Oracle Eloqua Reporting's OAuth endpoint in your default browser. Log in and grant permissions to the application. When the access token expires, the driver refreshes it automatically.
OAuth Authentication (Password Grant Flow)
With the OAuth password grant flow, you can use your OAuth application's credentials alongside your user credentials to authenticate without the need to grant permission manually via a browser prompt. You must create an OAuth app (see the Help documentation) to use this authentication method.
Set the following properties:
- AuthScheme: OAuthPassword
- Company: The company's unique identifier.
- User: Your login account name.
- Password: Your login password.
- OAuthClientId: The client Id assigned when you registered your custom OAuth application.
- OAuthClientSecret: The client secret assigned when you registered your custom OAuth application.
When you configure the connection, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.
- Choose the database objects you want to work with. This example uses the table.
DataBind
After adding the data source and selecting database objects, you can bind the objects to the chart. This example assigns the x-axis to and the y-axis to .
- In the Chart properties, click the button in the Series property to open the Series Collection Editor.
- In the Series properties, select the columns you want for the x- and y-axes: Select columns from the menu in the XValueMember and YValueMember properties.
The chart is now databound to the Oracle Eloqua Reporting data. Run the chart to display the current data.
Code Walk-through
DataBinding to Oracle Eloqua Reporting data requires only a few lines of code and can be completed in three easy steps.
- Connect to Oracle Eloqua Reporting.
- Create the OracleEloquaReportingDataAdapter to execute the query and create a DataSet to be filled with its results.
- DataBind the result set to the chart.
Below is the complete code:
OracleEloquaReportingConnection conn = new OracleEloquaReportingConnection("AuthScheme=Basic;User=user;Password=password;Company=MyCompany;");
OracleEloquaReportingCommand comm = new OracleEloquaReportingCommand("SELECT , FROM WHERE = ''", conn);
OracleEloquaReportingDataAdapter da = new OracleEloquaReportingDataAdapter(comm);
DataSet dataset = new DataSet();
da.Fill(dataset);
chart1.DataSource = dataset;
chart1.Series[0].XValueMember = "";
chart1.Series[0].YValueMembers = "";
// Insert code for additional chart formatting here.
chart1.DataBind();