PostgreSQL
- 4 minutes to read
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 a PostgreSQL database and select data.
Important
The appropriate data provider must be installed on the client machine. For information on data providers, refer to the Data Sources article.
Create a Data Source in the Data Source Wizard
To connect to a PostgreSQL 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, select PostgreSQL and click Next.
On the next page, specify connection parameters.
Server name
Specifies the name of the PostgreSQL database server to which the connection should be established.
Port
Specifies the port used to connect to the PostgreSQL database server.
User name
Specifies the user name used to authenticate to the PostgreSQL database server.
Password
Specifies the password used to authenticate to the PostgreSQL database server.
Database
Specifies the name of the database that contains data.
Click Next and specify how to select data from the database.
You can choose from the following options:
Select the Query option and click Run Query Builder… to invoke the Query Builder. The Query Builder allows you to choose the tables/columns and passes the resulting SQL query to the SQL String editor. Subsequently, the text of the generated query returns to the Data Source wizard.
Click Finish to create the data source.
Note
If you apply filtering or use query parameters, click Next to specify the parameter settings.
Select the Stored Procedure option to select one of the stored procedures from the database.
Then click Next to specify the parameter settings.
On the last page, you can optionally add query parameters and preview data.
Click Finish to create the data source.
Create a Data Source in Code
To create a data source that uses a connection to the PostgreSQL database, create an instance of the DashboardSqlDataSource class and follow the steps below:
Specify connection parameters for the PostgreSQL database. Create the PostgreSqlConnectionParameters class object and specify the following properties:
- The SqlServerConnectionParametersBase.ServerName property specifies the name of the server to which the connection should be established.
- The SqlServerConnectionParametersBase.DatabaseName property specifies the name of the database to which the connection should be established.
- Use the PostgreSqlConnectionParameters.PortNumber property to specify the port used to connect to the PostgreSQL database.
- Use the SqlServerConnectionParametersBase.UserName and SqlServerConnectionParametersBase.Password properties to specify the user credentials.
Assign the resulting PostgreSqlConnectionParameters object to the SqlDataSource.ConnectionParameters property.
Note
Alternatively, you can add a connection string with parameters to the application configuration file. Then, assign the connection string name to the SqlDataSource.ConnectionName property.
Create one of the following objects to specify the query:
- Create a SelectQuery object to specify a set of tables/columns that form a SELECT statement when you execute a query.
- Create a CustomSqlQuery object to specify an SQL query. Use the CustomSqlQuery.Sql property to specify a custom query string.
- Create a StoredProcQuery object to execute a stored procedure call and supply the dashboard with data.
Add the created query to the SqlDataSource.Queries collection exposed by the DashboardSqlDataSource object.
- Add the created DashboardSqlDataSource object to the Dashboard.DataSources collection.
The following code snippet shows how to supply the dashboard with data from the Northwind database deployed on the PostgreSQL server:
using DevExpress.DashboardCommon;
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
// ...
PostgreSqlConnectionParameters postgreParams = new PostgreSqlConnectionParameters();
postgreParams.ServerName = "localhost";
postgreParams.PortNumber = 5432;
postgreParams.DatabaseName = "Northwind";
postgreParams.UserName = "Admin";
postgreParams.Password = "password";
DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("Data Source 1", postgreParams);
SelectQuery selectQuery = SelectQueryFluentBuilder
.AddTable("SalesPerson")
.SelectColumns("CategoryName", "Extended Price")
.Build("Query 1");
sqlDataSource.Queries.Add(selectQuery);
sqlDataSource.Fill();
dashboard.DataSources.Add(sqlDataSource);