Bare bones, just try this (I'm working off of the easy_install version on Ubuntu, which is currently 0.11.0):
from sqlobject import SQLObject, connectionForURI, sqlhub
db_file = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'finance.db')
connection = connectionForURI('sqlite:' + db_file)
sqlhub.processConnection = connection
If the table is named anything else (as far as I can find), then it works fine. But as it is, this generates the following error:
File "/usr/local/lib/python2.6/dist-packages/SQLObject-0.11.0-py2.6.egg/sqlobject/sqlite/sqliteconnection.py", line 183, in _executeRetry
sqlobject.dberrors.OperationalError: near "transaction": syntax error
Not very helpful right? Either this error should be changed to point out the fact that "Transaction" is invalid as a table name, or the preferred solution would be to eliminate the error altogether and allow this table name. Considering that the import list contains no * and nothing called "Transaction" I see no reason why SQLObject's name space should interfere here.
Log in to post a comment.