I'm working on a python product (under 2.1.4) that calls a ZSQL method when it's added, to store most of it's properties in a database using a ZPyGreSQL connection. It's add method looks like this: def manage_addLink(self, id, url, title, description, owner, undo_size=5, click_audits=0, status='active', REQUEST=None): """Add a link to a folder.""" link_id = 0 ob = self._setObject(id, Link(id, link_id)) url, title, description, undo_size, click_audits, status, dead = ob.clean_input( url, title, description, undo_size, click_audits, status, 0) # Fake the owner for now. user_id = 1 res = ob.sql_add_link( url=url, title=title, description=description, owner=user_id, undo_size=undo_size, click_audits=click_audits ) zLOG.LOG('addLink', 100, 'Inside manage_addLink' , 'About to assign the link id.') ob.link_id = res[0][0] if REQUEST is not None: return self.manage_main(self, REQUEST) It also calls a ZSQL method in it's manage_afterAdd method to update it's present location in the ZORD to the database. The problem is I get this error message when I got to add a link: exceptions.ValueError Sorry, a Zope error occurred. Traceback (innermost last): File /usr/lib/zope/lib/python/ZPublisher/Publish.py, line 214, in publish_module File /usr/lib/zope/lib/python/ZPublisher/Publish.py, line 179, in publish File /usr/lib/zope/lib/python/Zope/__init__.py, line 180, in zpublisher_exception_hook File /usr/lib/zope/lib/python/ZODB/Transaction.py, line 180, in begin File /usr/lib/zope/lib/python/ZODB/Transaction.py, line 155, in abort File /usr/lib/zope/lib/python/Shared/DC/ZRDB/THUNK.py, line 115, in abort File /usr/lib/zope/lib/python/Products/ZPyGreSQLDA/db.py, line 117, in _abort ValueError: PQsendQuery() -- There is no connection to the backend. And from that point on, until I close and open the database connection, I get this message when testing any ZSQL method that uses the same connection. Any idea as to what's going on? John.