dashboard-113915-winforms-dashboard-winforms-designer-create-dashboards-in-the-winforms-designer-providing-data-sql-data-source-connect-to-sql-databases-amazon-redshift.md
The Dashboard Designer allows you to connect to different types of SQL databases in the Data Source Wizard. You can also use data access API to connect to the database and select data in code.
This tutorial describes how to establish a connection to an Amazon Redshift database and select data.
Important
To connect to various SQL databases, the Dashboard Designer requires a corresponding provider to be installed on the client machine. Refer to the following help topic for details: Supported Data Sources.
Note that the Amazon Redshift data provider requires the Npgsql.dll assembly v2.0.11.0 or 3.0.2.0. If you want to use an Npgsql.dll 3.0.4+ data provider to establish a connection, specify a custom connection string that includes Server Compatibility Mode=Redshift.
To connect to an Amazon Redshift database in the Dashboard Designer, follow the steps below:
Click the New Data Source button in the Data Source ribbon tab.
On the first page of the invoked Data Source Wizard dialog, specify whether you want to use an existing data connection or create a new data connection.
On the next page of the Data Source Wizard dialog, select Amazon Redshift and click Next.
On the next page, specify the connection parameters.
After you specify connection parameters, click Next and specify how to select data from the database.
On the final page, you can optionally add query parameters and preview data.
To create a data source that uses a connection to an Amazon Redshift database, create an instance of the DashboardSqlDataSource class and follow the steps below:
Specify connection parameters for the Amazon Redshift database. Create the AmazonRedshiftConnectionParameters class object and specify the following properties:
Create one of the following objects to specify the query:
Add the created DashboardSqlDataSource object to the Dashboard.DataSources collection.
The following code snippet shows how to supply the dashboard with data from the database deployed on the Amazon Redshift server:
using DevExpress.DashboardCommon;
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
// ...
AmazonRedshiftConnectionParameters redshiftParams = new AmazonRedshiftConnectionParameters();
redshiftParams.ServerName = "myserver.redshift.amazonaws.com";
redshiftParams.PortNumber = 5439;
redshiftParams.UserName = "amazon_red";
redshiftParams.Password = "password";
redshiftParams.DatabaseName = "Analysis_Data";
DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("Data Source 1", redshiftParams);
SelectQuery selectQuery = SelectQueryFluentBuilder
.AddTable("SalesPerson")
.SelectColumns("CategoryName", "Extended Price")
.Build("Query 1");
sqlDataSource.Queries.Add(selectQuery);
sqlDataSource.Fill();
dashboard.DataSources.Add(sqlDataSource);
Imports DevExpress.DashboardCommon
Imports DevExpress.DataAccess.ConnectionParameters
Imports DevExpress.DataAccess.Sql
' ...
Dim redshiftParams As New AmazonRedshiftConnectionParameters()
redshiftParams.ServerName = "myserver.redshift.amazonaws.com"
redshiftParams.PortNumber = 5439
redshiftParams.UserName = "amazon_red"
redshiftParams.Password = "password"
redshiftParams.DatabaseName = "Analysis_Data"
Dim sqlDataSource As New DashboardSqlDataSource("Data Source 1", redshiftParams)
Dim query As SelectQuery = SelectQueryFluentBuilder _
.AddTable("SalesPerson") _
.SelectColumns("CategoryName", "Extended Price") _
.Build("Query 1")
sqlDataSource.Queries.Add(selectQuery)
sqlDataSource.Fill()
dashboard.DataSources.Add(sqlDataSource)