ZODB Couldn't load state - help please
Hello Zopers, I just joined these mailing lists. I have a boring problem I can't understand. I wrote this little program: import Persistence import ZODB import ZODB.Transaction import ZODB.FileStorage class dbclass(Persistence.Persistent): def __init__(self): self.thedata = 'testdata' def getdata( request=None ): name = 'somename' db = ZODB.DB(ZODB.FileStorage.FileStorage('myfile.fs')) connection = db.open() root = connection.root() if not root.has_key( name ): print "initialising" root[name] = dbclass() get_transaction().commit() r = root[name].thedata connection.close() return r This program works very well if it is started directly using the python interpreter. But if I call it from Zope using 'Try it' in the management console it works only one time. The second call of the function results in: Zope Error Zope has encountered an error while publishing this resource. Error Type: AttributeError Error Value: dbclass Traceback (innermost last): File D:\PROGRA~1\uZope\lib\python\ZPublisher\Publish.py, line 214, in publish_module File D:\PROGRA~1\uZope\lib\python\ZPublisher\Publish.py, line 179, in publish File D:\PROGRA~1\uZope\lib\python\Zope\__init__.py, line 202, in zpublisher_exception_hook (Object: ElementWithAttributes) File D:\PROGRA~1\uZope\lib\python\ZPublisher\Publish.py, line 165, in publish File D:\PROGRA~1\uZope\lib\python\ZPublisher\mapply.py, line 160, in mapply (Object: korb) File D:\PROGRA~1\uZope\lib\python\ZPublisher\Publish.py, line 102, in call_object (Object: korb) File D:\PROGRA~1\uZope\lib\python\Products\ExternalMethod\ExternalMethod.py, line 248, in __call__ (Object: korb) (Info: ((None,), {}, (None,))) File D:\Programme\uZope\Extensions\korb.py, line 15, in getdata File D:\PROGRA~1\uZope\lib\python\ZODB\Connection.py, line 396, in setstate File D:\PROGRA~1\uZope\lib\python\ZODB\Connection.py, line 193, in _persistent_load (Info: ('\000\000\000\000\000\000\000\001', ('App.PersistentExtra', 'dbclass'))) File D:\PROGRA~1\uZope\lib\python\ZODB\Connection.py, line 153, in __getitem__ (Info: In the debug output I get: 2000-03-21T08:09:14 ERROR(200) ZODB Couldn't load state for '\000\000\000\000\000\000\000\000' What am I doing wrong? Thank you for your help! -- connection reset by Peer _______________________________________________________________________ Dr. Peer Griebel Tel. +49 7581 4831 23 Geschäftsführer Fax. +49 7581 4831 11 Knoll Informationssysteme GmbH http://www.knoll-is.de Dreiköniggasse 17 mailto:peer@knoll-is.de 88348 Saulgau privat: mailto:peer.griebel@gmx.de
participants (1)
-
Dr. Peer Griebel