Ask a question?
  • Contact Us
  • Support Case System
  • Support Forum

What Do I Do If My Drivers Occasionally Fail To Disconnect?

Both Multi-Tier and Single-Tier drivers users take the following action. Multi-Tier users see additional comments below.

  1. Use your database native transaction monitor to see if OpenLink drivers are locked in pending transactions. OpenLink drivers cannot disconnect from a database while they are still engaged in transactions.
  2. Insure that your application does not enforce manual commits. Use of manual commit may encourage the behavior described above.
  3. Check the database native error logs for failures that may contribute to this problem.
  4. Create a client-side ODBC trace. Examine the trace to insure that the application sends the proper sequence of SQLFree()s and SQLDisconnect()s to the driver.
  5. Ensure OpenLink's Progress drivers connect to Progress databases in sockets mode. A Progress shared memory library bug causes failure to disconnect.
  6. Contact OpenLink Product Support, if you use Progress 91C or 91D. OpenLink is working to resolve occurrences of lingering agents that are not associated with the shared memory bug.
Multi-Tier users perform the following, additional test:
  • Recreate the problem.
  • Run oplshut -s on a command line.
  • Observe the number of OpenLink database agent processes.
  • Compare the output of oplshut -s with a Unix ps -ef or Windows Task Manager.
  • Upgrade if oplshut -s or the Windows Task Manager shows more agent processes.