Why do I get error "Failed to receive packet header" when using the ODBC-ODBC Bridge?

If you get the following error after making repeated connections to the Windows ODBC-ODBC Bridge server running in multi-process mode:

[S1000][unixODBC][Easysoft ODBC (Client)]Failed to receive packet header, recv()=-1 - Connection reset by peer (errno=104)
[08001][unixODBC][Easysoft ODBC (Client)]Client unable to establish connection
[ISQL]ERROR: Could not SQLConnect
  1. Turn on ODBC-ODBC Bridge server tracing in the ODBC-ODBC Bridge web administrator. To do this, in a web browser, go to http://oob_server_machine:8890. In the Configuration page, change Logging from 0 to 0xffffff, and click Submit.
  2. Try connecting again. If you get the same error, open the ODBC-ODBC Bridge server log file esoobstart.log. This file is located in the directory specified by LogDir. The default location is:

    drive:\%ProgramFiles%\Easysoft\Easysoft ODBC-ODBC Bridge\Logs

    For example:

    C:\Program Files\Easysoft\Easysoft ODBC-ODBC Bridge\Logs

  3. Search esoobstart.log file for an entry similar to:
    Thread/Process no longer active - exit code -1073741502

    This entry usually means that no more memory is available to the ODBC-ODBC Bridge server. As a consequence, the ODBC-ODBC Bridge is unable to start any new processes.

  4. Turn logging off by changing the Logging attribute value from 0xffffff to 0.
  5. In Registry Editor (either regedit.exe or regedit32.exe), locate this subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
  6. In the right pane of the Registry Editor window, double-click the Windows value.

    The Windows value sets a number of parameters, including Windows SharedSection. For example:

    Windows SharedSection=1024,3072,512

    The numeric values following SharedSection= control how of the memory heap is allocated. These values are specified in kilobytes (KB). Increasing the third number in the comma separated list results in a larger memory heap being allocated to services such as the ODBC-ODBC Bridge server. This increases the number of processes that the ODBC-ODBC Bridge server can run. Note that a reboot is required before any changes you make to this setting take effect.

    For more information about the Windows SharedSection parameter, refer to Microsoft KB 184802 User32.dll or Kernel32.dll fails to initialize and Microsoft Advanced Windows Debugging and Troubleshooting: Desktop Heap Overview.

    Caution Back up the registry before modifying it. For information about how to do this, refer to Microsoft KB 322756 How to back up and restore the registry in Windows.