VOOZH about

URL: https://www.cdata.com/kb/tech/postgresql-ado-powerbuilder.rst

⇱ Connect to PostgreSQL Data from PowerBuilder via ADO.NET


Connect to PostgreSQL Data from PowerBuilder via ADO.NET

👁 Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
This article demonstrates how to access PostgreSQL data from Appeon PowerBuilder using the CData ADO.NET Provider for PostgreSQL.

This article demonstrates using the CData ADO.NET Provider for PostgreSQL in PowerBuilder, showcasing the ease of use and compatibility of these standards-based controls across various platforms and development technologies that support Microsoft .NET, including Appeon PowerBuilder.

This article shows how to create a basic PowerBuilder application that uses the CData ADO.NET Provider for PostgreSQL to perform reads and writes.

  1. In a new WPF Window Application solution, add all the Visual Controls needed for the connection properties. Below is a typical connection string:

    User=postgres;Password=admin;Database=postgres;Server=127.0.0.1;Port=5432;

    To connect to PostgreSQL, set the Server, Port (the default port is 5432), and Database connection properties and set the User and Password you wish to use to authenticate to the server. If the Database property is not specified, the data provider connects to the user's default database.

    SSH Connectivity for PostgreSQL

    You can use SSH (Secure Shell) to authenticate with PostgreSQL, whether the instance is hosted on-premises or in supported cloud environments. SSH authentication ensures that access is encrypted (as compared to direct network connections).

    SSH Connections to PostgreSQL in Password Auth Mode

    To connect to PostgreSQL via SSH in Password Auth mode, set the following connection properties:

    • User: PostgreSQL User name
    • Password: PostgreSQL Password
    • Database: PostgreSQL database name
    • Server: PostgreSQL Server name
    • Port: PostgreSQL port number like 3306
    • UserSSH: "true"
    • SSHAuthMode: "Password"
    • SSHPort: SSH Port number
    • SSHServer: SSH Server name
    • SSHUser: SSH User name
    • SSHPassword: SSH Password

    SSH Connections to PostgreSQL in Public Key Auth Mode

    To connect to PostgreSQL via SSH in Password Auth mode, set the following connection properties:

    • User: PostgreSQL User name
    • Password: PostgreSQL Password
    • Database: PostgreSQL database name
    • Server: PostgreSQL Server name
    • Port: PostgreSQL port number like 3306
    • UserSSH: "true"
    • SSHAuthMode: "Public_Key"
    • SSHPort: SSH Port number
    • SSHServer: SSH Server name
    • SSHUser: SSH User name
    • SSHClientCret: the path for the public key certificate file
  2. Add the DataGrid control from the .NET controls.
  3. Configure the columns of the DataGrid control. Below are several columns from the Account table:
    <DataGrid AutoGenerateColumns="False" Margin="13,249,12,14" Name="datagrid1" TabIndex="70" ItemsSource="{Binding}">
    <DataGrid.Columns>
     <DataGridTextColumn x:Name="idColumn" Binding="{Binding Path=Id}" Header="Id" Width="SizeToHeader" />
     <DataGridTextColumn x:Name="nameColumn" Binding="{Binding Path=ShipName}" Header="ShipName" Width="SizeToHeader" />
    		...
    	</DataGrid.Columns>
    </DataGrid>
    
  4. Add a reference to the CData ADO.NET Provider for PostgreSQL assembly.

Connect the DataGrid

Once the visual elements have been configured, you can use standard ADO.NET objects like Connection, Command, and DataAdapter to populate a DataTable with the results of an SQL query:

System.Data.CData.PostgreSQL.PostgreSQLConnection conn 
conn = create System.Data.CData.PostgreSQL.PostgreSQLConnection(connectionString)

System.Data.CData.PostgreSQL.PostgreSQLCommand comm 
comm = create System.Data.CData.PostgreSQL.PostgreSQLCommand(command, conn)

System.Data.DataTable table
table = create System.Data.DataTable

System.Data.CData.PostgreSQL.PostgreSQLDataAdapter dataAdapter
dataAdapter = create System.Data.CData.PostgreSQL.PostgreSQLDataAdapter(comm)
dataAdapter.Fill(table)	
datagrid1.ItemsSource=table.DefaultView

The code above can be used to bind data from the specified query to the DataGrid.

Ready to get started?

Download a free trial of the PostgreSQL Data Provider to get started:

 Download Now

Learn more:

👁 PostgreSQL Icon
PostgreSQL ADO.NET Provider

Rapidly create and deploy powerful .NET applications that integrate with PostgreSQL-compatible database engines.