Even though I am closing my resultset, prepared statement, and database connection in the finally area of a try-catch, it is leaving a process on the database server that gets set to CLOSE_WAIT and then after about 3 hours goes to a LISTEN state and sits there until either the database is restarted or the PID killed. Why is this happening? What else do I need to do to tell the database server to get rid of that process? This is a problem because we only allow so many connections and after this program runs a 20 times, they are all taken up. This is a very simple Java program running on a Suse Linux server using JDBC against a Progress 10 database. Thanks for your help!