Help / Native Connectors/Native Accesses / Native Progress Connector
  • Overview
  • Configuring the ODBC administrator
  • Remark
  • Importing the structure of files
  • The import steps
  • Taking into account the evolution of the Progress database
  • Programming
  • 1. Establishing the connection
  • 2. Running queries
  • 3. Retrieving the result
  • 4. Closing the connection
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
Native Progress Connector: Programming with HFSQL functions
Native Connectors (Native Accesses)Available only with this kind of connection
To use a Progress database with the Native Connector (also called "Native Access"), you must:
  1. Configure the ODBC administrator.
  2. Import the structure of Progress tables into the WINDEV or WEBDEV analysis.
Differences compared to SQL programming: The queries are not required to handle the Progress data. Indeed, the HFSQL functions can be directly used to read data, perform searches, implement filters, ... However, the structure of Progress files must be imported into the WINDEV or WEBDEV analysis.
Configuring the ODBC administrator
To configure the ODBC administrator:
  1. Start the ODBC data administrator (ODBCAD32.EXE) on your computer. To do so, select "Start .. Run" from Windows and type "ODBCAD32.EXE".
  2. Select the "User database" tab.
  3. Click the "Add" button.
  4. Select the ODBC driver for Progress (installed with the client version of Progress).
  5. Click "Done".
  6. Enter the name of the Progress data source. This name will be used to identify the Progress database in your WINDEV programs or in your WEBDEV sites.
  7. Validate ("OK" button).


You have the ability to connect to a Progress database without declaring the ODBC source. In this case, all the connection parameters must be supplied by HOpenConnection.
For example, to access the "sports" database located on the "Mars" server, using the "srv_sports" service, the syntax of HOpenConnection becomes:
// Define a connection
// Or even better: use the name of the connection defined in the analysis 
// (in this case, don't declare the object here)
ctProgress is Connection 

// Name of Progress server
ctProgress.Server = "Mars"
// Name of the database
ctProgress.Database = "Sports"
// User of the database
ctProgress.User = "sysprogress"
// Password of the database
ctProgress.Password = "xxxx"
// Native Progress Connector
ctProgress.Provider = hNativeAccessProgress
// Extended information to specify the port and location of the Progress client library
ctProgress.ExtendedInfo = "PORT=srv_sports"
// Test of the connection to the database
IF NOT HOpenConnection(ctProgress) THEN
Error("Failure connecting to the database", HErrorInfo())
Importing the structure of files

The import steps

To perform this import:
  1. Start the data model editor: click Load project analysis in the quick access buttons.
  2. On the "Analysis" tab, in the "Creation" group, expand "Import" and select "Import file/table descriptions...".
  3. The wizard starts. A connection to the Progress database is automatically established and associated with the files imported into the analysis. This connection will be used to handle the Progress data file through programming.
In the different steps of the wizard, choose the following options:
  • Type of database: Progress.
  • Characteristics of the connection: Data server, User and password, database.
  • The application will access the data in the current format.
  • When the connection is established, all you have to do is select the tables that will be imported into the WINDEV/WEBDEV analysis. These tables can be handled through programming with the HyperFileSQL functions of WLanguage. These tables will be displayed in blue in the data model editor.
If an ODBC source was defined, there is no need to specify all the parameters in the connection (only the data source defined in the ODBC administrator is required).
If no ODBC source was defined, you must enter all the parameters in the connection:
  • Database,
  • Number or name of service onto which the database will answer. This information must be entered in the advanced parameters of the connection (extended information), ...

Taking into account the evolution of the Progress database

To take into account the evolutions of the tables imported into the data model editor, go to the "Analysis" tab, "Analysis" group, expand "Synchronization" and select "Update analysis from external databases".
A wizard starts, allowing you to:
  • analyze the differences for the imported tables only.
  • analyze the differences for all the Progress tables.

1. Establishing the connection

To establish the connection to the Progress database, use HOpenConnection and specify the name of the connection to open. The connection name was defined when importing the structure of files into the analysis.
To modify some parameters of this connection (username or password for example), call HConnect.
Remark: If you try to read the file directly (HReadFirst, ...), the connection associated with the file description in the analysis will be automatically opened.

2. Running queries

HExecuteQuery and HExecuteSQLQuery are used to run queries on the current database.
  • HExecuteQuery: is used to run a preset query with the query editor of WINDEV and WEBDEV.
  • HExecuteSQLQuery: is used to run a query by specifying the SQL code of the query and the name that will be assigned to this SQL code.
    // Initialize the "Customer_84" query
    HExecuteQuery(CUSTOMER_84, "MyProgressDatabase")
    HExecuteSQLQuery(QryCustomer, "MyProgressDatabase", hQueryWithoutCorrection, ...

3. Retrieving the result

The result is read by standard read functions: HReadFirst, HReadNext, HReadSeek, ...

4. Closing the connection

HCloseConnection is used to close the connection to the database once all the necessary queries have been run.
Minimum version required
  • Version 9
This page is also available for…
Click [Add] to post a comment

Last update: 09/07/2023

Send a report | Local help