[Zope] ZnolkSQLWizard 0.1.9 errors w/ PoPy_db.py
Philipp Auersperg
phil@bluedynamics.com
Tue, 11 Jun 2002 10:11:42 +0200
It seems that you forgot to select a primary key column in the wizard.
if so, your generated ...UpdateMethod has an empty where clause
in the next znolk release you will be warned if you forget to select a
primary key row.
Solution:
run the wizard again and select at least one column as primary key.
regards
phil
Eugene von Niederhausern wrote:
>I am not sure how ZnolkSQLWizard works, but it sounds like an invalid
>SQL statement is being sent to postgresql (maybe quoting for the wrong
>data type??). I don't think it is ZPoPy. I would look at the sql
>statements ZnoklSQL is sending to postgresql.
>
>
>
>regards,
>
>Eugene
>
>
>On Mon, 2002-06-10 at 09:06, eric.n.dunn@bankofamerica.com wrote:
>
>>
>>Using Zope 2.5, Debian, Postgresql, ZnolkSQLWizard 0.1.9, ZPoPyDA
>>
>>Insert and Browse forms work... but...
>>
>>UpdateForm gives me the following error
>>
>>Traceback (innermost last):
>> File /local/zope-2.5/lib/python/ZPublisher/Publish.py, line 150, in
>>publish_module
>> File /local/zope-2.5/lib/python/ZPublisher/Publish.py, line 114, in
>>publish
>> File /local/zope-2.5/lib/python/Zope/__init__.py, line 158, in
>>zpublisher_exception_hook
>> (Object: DB)
>> File /local/zope-2.5/lib/python/ZPublisher/Publish.py, line 98, in publish
>> File /local/zope-2.5/lib/python/ZPublisher/mapply.py, line 88, in mapply
>> (Object: UserinfoUpdateForm)
>> File /local/zope-2.5/lib/python/ZPublisher/Publish.py, line 39, in
>>call_object
>> (Object: UserinfoUpdateForm)
>> File /local/zope-2.5/lib/python/OFS/DTMLDocument.py, line 127, in __call__
>> (Object: UserinfoUpdateForm)
>> File /local/zope-2.5/lib/python/DocumentTemplate/DT_String.py, line 473,
>>in __call__
>> (Object: UserinfoUpdateForm)
>> File /local/zope-2.5/lib/python/DocumentTemplate/DT_In.py, line 617, in
>>renderwob
>> (Object: UserinfoPkSelectMethod)
>> File /local/zope-2.5/lib/python/Shared/DC/ZRDB/DA.py, line 421, in
>>__call__
>> (Object: UserinfoPkSelectMethod)
>> File /local/zope-2.5/lib/python/Products/ZPoPyDA/PoPy_db.py, line 84, in
>>query
>>ProgrammingError: ERROR: parser: parse error at or near ""
>>
>>
>>Code from " PoPy_db.py"
>>
>>
>>import string
>>database_type='PoPy'
>>
>>"""%s Database Connection""" % database_type
>>
>>from PoPy_db import DB
>>from Shared.DC.ZRDB.Connection import *
>>from PoPy_browser import *
>>
>>addPoPyConnectionForm=DTMLFile(
>> 'dtml/PoPyconnectionAdd',
>> globals(),
>> default_id='%s_database_connection' % database_type,
>> default_title='Z %s Database Connection' % database_type,
>> database_type=database_type,
>> )
>>
>>def addPoPyConnection(self, id, title, connection_string,
>>connected=None,attempts=10,seconds=5,REQUEST=None):
>> """Add a Z PoPy DB connection to a folder"""
>>
>> if not connected is None:
>> connected = 1
>> self._setObject(id, PoPyConnection(id,
>> title,
>> connection_string,
>> connected,
>> attempts,
>> seconds))
>> if REQUEST is not None:
>> return self.manage_main(self,REQUEST)
>>
>>class PoPyConnection(Connection):
>> """A database connection object"""
>> database_type=database_type
>> id='%s_database_connection' % database_type
>> meta_type=title='Z %s Database Connection' % database_type
>> icon='misc_/Z%sDA/conn' % database_type
>> _isAnSQLConnection=1
>>
>> def __init__(self, id, title, connection_string, connected=None,
>> attempts=10,seconds=5):
>> Connection.__init__(self,id,title,connection_string,connected)
>> self.attempts = attempts
>> self.seconds = seconds
>>
>> if self._v_connected:
>> self._v_database_connection.setAttempts(attempts,seconds)
>>
>> def manage_attempts (self, attempts,seconds,REQUEST):
>> " "
>> self.attempts = attempts
>> self.seconds = seconds
>> self._v_database_connection.setAttempts(attempts,seconds)
>> return self.manage_main(self,REQUEST)
>>
>> manage_main=DTMLFile('dtml/PoPyconnectionStatus', globals())
>>
>> manage_properties=DTMLFile('dtml/PoPyconnectionEdit', globals())
>>
>> def manage_edit(self, title, connection_string, connected=None,
>>attempts=10,seconds=5,REQUEST=None):
>> """Change connection"""
>>
>> self.attempts = attempts
>> self.seconds = seconds
>> if self._v_connected:
>> self._v_database_connection.setAttempts(attempts,seconds)
>>
>> Connection.manage_edit(self,title,connection_string,connected)
>>
>> manage_testForm = DTMLFile('dtml/PoPyconnectionTestForm', globals())
>>
>> def factory(self): return DB
>>
>> def sql_quote__(self, v, escapes={
>> '\\': '\\\\',
>> '\"': '\\\"',
>> '\'': '\\\'',
>> '\0': '\\0',
>> '\n': '\\n',
>> '\t': '\\t',
>> '\r': '\\r',
>> '\b': '\\n',
>> }):
>> find=string.find
>> for c in "\\\"\'\0\n\t\r\b":
>> if find(v,c) > -1:
>> v=string.join(string.split(v,c),escapes[c])
>> return "'%s'" % v
>>
>>
>>
>>
>>_______________________________________________
>>Zope maillist - Zope@zope.org
>>http://lists.zope.org/mailman/listinfo/zope
>>** No cross posts or HTML encoding! **
>>(Related lists -
>> http://lists.zope.org/mailman/listinfo/zope-announce
>> http://lists.zope.org/mailman/listinfo/zope-dev )
>>
>
>
>
>
>_______________________________________________
>Zope maillist - Zope@zope.org
>http://lists.zope.org/mailman/listinfo/zope
>** No cross posts or HTML encoding! **
>(Related lists -
> http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )
>