[Zope-DB] Returning values from Oracle function/procedure withZSQLMethod

Cynthia Kiser cnk at caltech.edu
Fri Apr 8 18:58:26 EDT 2005

Quoting Jim Abramson <jabramson at wgen.net>:
> In our experience we ended up needing to do increasingly complex
> things with plsql, and ultimately, we had no choice to move all our
> db access out into ExternalMethods or Products and use DCOracle2
> directly.  This does require constructing your own connection
> pool/management, but once you've built that you can leverage
> DCOracle2 directly in python and this provides much more
> flexibility.

When you do our own connection management, are you able to avoid
DCOracle2 leaking connections? In our Zope 2.6.1/DCOracle2-1.3b
server, we accumulate sessions where Oracle is waiting for a response
from Zope, but Zope apparently thinks it closed that connection and
opened a new one. Manually closing and reopening the connection does
not clean up the forgotten sessions, so I periodically (~monthly)
restart the Zope server to clean up. Killing the Zope processes
seems to finally signal Oracle (on a remote machine) that the client
is no longer interested in those old open sessions.

The smidge of testing I did with DCOracle2 from the command line left
me with the impression that its connection closing function did not
work. I could close a connection - and then still use it to talk to my
database. I wasn't really sure enough of those tests to report this as
a bug, but it is vaguely troubling. 

Cynthia Kiser

More information about the Zope-DB mailing list