Sockets Versus Relinking

If your OpenLink Database Agent for Progress (SQL-89) is not an exact match for your Progress Database (i.e., if your Agent is for Progress 9.1C, while your Progress instance is Progress 9.1E), you will need to relink the Agent or establish a sockets connection. (Note -- SQL-92 Agents can only connect in sockets mode, due to limitations inherent to the Progress DBMS.)

Relinking

The relinking process recompiles your OpenLink Database Agent against the database libraries which are actually present on your Progress host, resolving all incompatibilities. In order to relink, you must have a compiler and a full installation of the Progress Database Server.

8.6.4.2. REBUILDING/RELINKING Your OpenLink Database Agent for Progress

Sockets

The sockets approach restarts your database in such a way that it accepts connections from similarly versioned OpenLink Database Agents for Progress. OpenLink Database Agents do not need to exactly match the target Progress instance version to establish sockets connections; however, they must share the same major version number as the database instance.

To clarify, Database Agents for Progress 83B (e.g., pro83b_sv) can make sockets-based connections to Progress 83C database instances. Database Agents for Progress 83B cannot connect to Progress 91A database instances, and Database Agents for Progress 91A (e.g., pro91a_sv) cannot connect to Progress 83B database instances, regardless of whether they are operating in sockets or shared memory mode.

  1. Create an entry in your server's /etc/services file, pairing your Progress server with any unused port number. For example:

    pro83c   8899/tcp   # Progress 8.3C Sockets Listener
  2. Shut down your Progress Database, and restart it by passing the appropriate startup parameters

    -S service_from_services_file  -N tcp  -H Progress_server_hostname_or_IP_address 
    -S pro83c  -N tcp  -H pro-host.example.com 
  3. Pass the same three flags and values in the Connection Options or Server field of your client DSN.

  4. Select the appropriate ServerType or Provider Domain, corresponding to the OpenLink Database Agent in use, (e.g., Progress 83E or Progress 91C) in your DSN.

  5. Pass -db /full/path/to/your/database.db in the Database Name field of your DSN.

  6. Test your connection.