Progress OpenEdge Database Connector

The Progress database connector aims to provide anyone using OutSystems Platform 9.1 (Bali) to integrate with a Progress OpenEdge database.


  • Access a Progress database using the connections defined in service center and through integration studio;
  • Bring your data to service studio and build screens accessing directly the Progress data;
  • Manage your data through the OutSystems platform taking advantage of the ease of use. Screen scaffolding and CRUD features.
  • .NET implementation
In the end you should be able to connect using something like:


Progress does not allow auto numbers, even though they can use sequences. As with all integrations a table that doesn’t have auto number cannot expect the Create and the CreateOrUpdate to automatically increase an ID. A developer will need to assign the correct value before calling these actions. Alternatively, if the database has triggers to simulate auto-numbering it’s possible to ignore the assignment, in this case mark the column as auto number in integration studio.
  • Because there’s no auto number Progress does not return the last inserted ID, which means Create and CreateOrUpdate will not return an ID;
  • OutSystems does not support tables or column names that include special characters (like “-“). They will not be imported!
  • There's no Cloud installation at this point (working on it)

Use the attached zip file and follow the available instructions to setup your database connection to Progress.

The Database Integration API SDK includes a battery of 100+ unit tests covering most of the plugin capabilities. The plugin passed all the tests, plus a few more done fully integrated with the platform.

The connector is not officially supported by OutSystems so if you have any issues / suggestions let me know.

Hi Renato,

The only suggestion I have is to create a component of this, and put it in the Forge :).
If only the Forge allowed it.

You can only publish solutions, oml, xif or applications on the Forge :)
Well, perrhaps you can create a solution then? :)
This is not your typical install. You can't publish it on Service Center.

No solution can be created.
Ah, I see, it's just DLLs. Then you're out of luck! (Which is too bad, as it deserves to be in the Forge)
Hi Renato,
We have a client which have Progress's licenses only to use 32-bit ODBC drivers, even at a 64-bit environment with Windows Server 2008 R2.
Is there any possibility to use the 32-bit ODBC driver installed at a 64-bit environment using the OutSystems plugin ("OutSystems.HubEdition.ProgressDatabaseProvider.dll (x64)) ?
Or will the client need to request for the licenses of the 64-bit ODBC drivers?
On a 64-bit environment with Windows Server 2008 R2, the 32-bit and 64-bit ODBC driver information are located in different places in the registry, as follows:
ODBC (64-bit):
ODBC (32-bit):
  • Registry -> HKEY_LOCAL_MACHINE -> SOFTWARE -> Wow6432Node -> ODBC -> ODBCINST.INI -> ODBC Drivers

Best regards.
You should be fine as long as you install the 32 bit DLL for the connector in the platform. But I'm not sure, you might need to test it, if possible within your client environment.
I already had done this test on client environment and I did it again at my environment with the same result: after reinstall Service Center, it unregistered the Progress option and Service Center shows the message "No provider registered for key Progress" for already saved connections.
Ah. Then I guess you might need the 64 bit driver from openEdge and install the 64 bit plugin.
Hi Renato,
Why does this component have the limitation of mapping names with "-"?
Is implementing this capability on the roadmap of this component for future versions?
We have a company's environment with Totvs tables (in Progress Database) which have names with "-" as a pattern. And we will need to map them to be used inside of the OutSystems Platform. 
What is your suggestion? 
Thanks and best regards.

It's something that the platform will not be able to import through integration studio, while it might be able to recognize the tables, querying does not work, so I've disabled finding these tables altogether.

When I was performing the tests I noticed that it didn't work properly, R&D's response is that is not supported yet.

Hi Juliano, 

A short term workaround that you might apply is to create views in the progress database that abstract away from the original name, and consume those views from OutSystems instead of consuming the original tables.



Doesn't Progress have aliases like SQL ?