Setting the cclass parameter in cx_Oracle.connect() and then calling connection.close() doesn't close the connection. You can see this by
Adding a test case to Connection.py like:
def testCClassClosing(self): "test connections are closed when using cclass" for i in xrange(1,5000): connection = cx_Oracle.connect(self.username, self.password, self.tnsentry, cclass='myclass') connection.close() import time time.sleep(30)
Because the connections aren't closed you probably see: DatabaseError: ORA-12520: TNS:listener could not find available handler for requested type of server
If the test makes it to the sleep call, you can use netstat to see all of the connections are still in the ESTABLISHED state with the DB until the program exits.
The reason for wanting this to work is so I can test DJango and Oracle's DRCP with a simple configuration change. I see if I use cx_oracle pooling the pool.release(connection) call does close the connection, but that option doesn't fit my requirements.