Top

8.6.4.Making OpenLink Database Agent Use a Sockets Based IPC

Pre-Configuration Check List:

  • Progress Database Server installation must be licensed to use Progress Client Networking.

  • TCP networking must be installed, configured and up and running on the Progress Database Server machine. (The command: ping localhost will quickly determine if TCP is configured correctly on your server machine).

  • You need to create an entry in the "services" file (situated in the UNIX "/etc" directory) for one or more Progress TCP Sockets based Database Servers. The "services" file is standard TCP configuration file that is used to match Service Names to the TCP port number from which their services can be accessed. The entries in this file follow the format shown below:

    Table8.19.

    Service Name Port/Protocol Comment
    netwall 533/udp # -for emergency broadcasts
    uucp 540/tcp # uucp daemon
    remotefs 556/tcp # Brunhoff remote filesystem
    pppmsg 911/tcp # PPP daemon
    listen 1025/tcp # listener RFS remote_file_sharing
    nterm 1026/tcp # remote_login network_terminal

You need to choose the name of a service and a port number that is not currently used by a tcp service (in the case illustrated above, for example, number 1026 is already being used).

Thus, if you chose to use the name "pro8srv" for your Progress TCP Sockets based Database Server’s Service Name. And you chose to make its services available at TCP port # 9001 (and you have checked the file to make sure it is not being used) you would add the following entry (note that the third entry is simply a comment as it is preceded with a "#"):

pro8srv 9001/tcp # for Progress database sales 

Configuration Steps

[Note] Note:

(Assuming a Progress Database named "sales.db" using as TCP Service "pro8srv")

  • Progress Server Components

    • Assuming the database file "sales.db" is situated in directory "/usr/data". Start your Progress TCP Sockets based Database Server process using the command:

      >proserve /usr/data/sales.db -S pro8srv –N TCP –H localhost 
  • OpenLink Server Components (Database Agent for Progress)

    • The OpenLink Session Rules Book (oplrqb.ini) allows you to control all OpenLink Data Access clients (ODBC/JDBC/UDBC) centrally, alleviating yourself from the time cost of maintaining numerous client based connection parameters.

      This is done by placing the Progress Database Connection Parameters -S <service name> -N TCP –H localhost as "ConnectOptions" section-key values within the Progress Database Agent configuration ( "[generic_prox]" ) section of the Session Rules Book e.g.:

      [generic_pro8]
      Program = pro8_sv
      ServerOptions = -q –d mdy –TB 30 –TM 30 –e 25
      Database = /usr/data/sales.db
      ConnectOptions = -S pro8srv –N TCP –H localhost
      
  • OpenLink Client Components (Drivers for ODBC/JDBC™/UDBC)

    You only have to resort to the steps below if circumstances within your organization demand client side configuration, otherwise the server based approach using the OpenLink Session Rules Book (oprqb.ini) is much more effective and convenient.

    • OpenLink ODBC Drivers - Place the Progress Database Connection Parameters: -S pro8srv –N TCP –H localhost into the "Options" field of the OpenLink ODBC Data Source Configuration Utility

    • OpenLink Drivers for JDBC ™ - Use the Progress Database Connection Parameters: -S pro8srv –N TCP –H localhost as "/OPTIONS" OpenLink JDBC URL attribute values e.g.:

      jdbc:openlink://dbservermachine/DSN=dsn_progress/OPTIONS=-S pro8srv –N TCP –H localhost
      
    • OpenLink UNIX based ODBC or UDBC Drivers - Use the Progress Database Connection Parameters: -S pro8srv –N TCP –H localhost as "OPTIONS" connect string values e.g.:

      DSN=dsn_progress;OPTIONS=-S pro8srv –N TCP –H localhost
      

REBUILDING/RELINKING Your OpenLink Database Agent For Progress

As explained earlier an OpenLink Database Agent for Progress is a combination of OpenLink specific libraries (data access and network server modules) and Progress specific libraries provided situated in the "probuild" sub-directory under your Progress installations $DLC directory.

Should you desire the superior performance that Shared Memory has over TCP sockets, then rebuilding/relinking your OpenLink Database Agent for Progress provides an alternative solution to Shared Memory incompatibility problems that may be impeding your ability to establish an OpenLink session with your Progress Database Server.

Activity Prerequisites

  • You must have a ‘C’ library linker installed and running on your machine (part of your operating systems ‘C’ compiler kit)

  • You must have a "probuild" sub-directory situated under the $DLC (progress installation directory) directory.

  • You must have a "lib" sub-directory situated under your OpenLink Server Components installation directory, and it must contain the following components:

    • A link script file named "mkdlcX" (where X represents your Progress installation’s major release number e.g. for Progress 7.3C this would be lddlc7).

    • A link script named "ldproX" (where X represents your Progress installation’s major release number e.g. for Progress 7.3C this would be ldpro7).

    • An OpenLink specific link library file named "pro7_sv.o"

Rebuild/Relink Steps

  1. Create a UNIX environment variable named " DLC" and set its value your Progress installation directory. You do not need to do this as this environment variable is already set, the output from the command: echo $DLC will enable you determine if this has been set.

  2. Create a UNIX environment variable named "PROLOAD" and set its value to $DLC/probuild From the UNIX command line prompt this is achieved by typing in the following:

    PROLOAD=$DLC/probuild ; export PROLOAD
    
  3. Change directory to the ‘lib’ sub-directory under your OpenLink Server Components installation directory

  4. Run the script " mkdlcX", the aim here being the production of a file named 'dlcX.o' (where X represents your Progress installations major release number)

  5. If you receive an error messages from step 4 stating that one or more Progress libraries cannot be found, please edit mkdlcX and remove any references to the file(s) identified in the error message.

  6. Run the script ' ldproX ' . This will produce a new OpenLink Database Agent for Progress version X (proX_sv), and place the new executable file in the "bin" sub-directory of your OpenLink installation directory (the directory immediately adjacent to the "lib" directory from where you performed steps 1 – 5).