Hi Massimo. Yes the problem is not with the sqlite. I just confirmed that it does work and the session table is in the databases folder.
My Oracle db already has the auth tables and web2py_session table defined. I suspect there is a null value for the user field since no one would be logged in when the app comes up. Somehow that is OK with SQL lite. Here are the session variables: Variables session <Storage {'auth': None, '_user_agent': {'os': {'...ser': {'version' : '15.0.1', 'name': 'Firefox'}}}> request <Storage {'function': 'index', 'body': <cStringI...lications\\ TAMOTO\\', 'post_vars': <Storage {}>}> session._try_store_in_db <bound method Session._try_store_in_db of <Stora...er': {'version': '15.0.1', 'name': 'Firefox'}}}>> response <Storage {'body': <cStringIO.StringO object at 0...a> at 0x03FE8F30>, 'view': 'default/index.html'}> As I mentioned earlier. This is a brand new application. No tables other than auth_ and web2py_session_ defined here yet. -Bill On Monday, October 15, 2012 4:30:17 PM UTC-5, Massimo Di Pierro wrote: > > I am using sqlite and I tried sessions in db (again) and I cannot > reproduce this problem. > > On Monday, 15 October 2012 16:03:45 UTC-5, Bill Thayer wrote: >> >> Thought I'd start over with a brand new application & get the wiki >> working but I am running into difficulty before I even get to the wiki part. >> I created a brand new app and started by moving my 0.py file into models >> then edited db.py like so: >> >> >> if not request.env.web2py_runtime_gae: >> ## if NOT running on Google App Engine use SQLite or other DB >> db = DAL(settings.database_uri, check_reserved=['oracle']) >> ## store sessions and tickets there >> session.connect(request, response, db=db, migrate= >> 'db.web2py_session_tamoto') >> else: >> . >> . >> . >> >> >> ## create all tables needed by auth if not custom tables >> auth.define_tables(username=True, signature=False, migrate=False) >> >> >> >> Of course I get an Oracle Error: >> >> Traceback (most recent call last): >> File "C:\web2py_src_2.1.1\web2py\gluon\restricted.py", line 209, >> inrestricted >> exec ccode in environment >> File >> "C:/web2py_src_2.1.1/web2py/applications/TAMOTO/models/db.py"<http://127.0.0.1:8000/admin/default/edit/TAMOTO/models/db.py> >> , line 16, in <module> >> session.connect(request, response, db=db, migrate= >> 'db.web2py_session_tamoto') >> File "C:\web2py_src_2.1.1\web2py\gluon\globals.py", line 581, in connect >> migrate=table_migrate, >> File "C:\web2py_src_2.1.1\web2py\gluon\dal.py", line 7092, indefine_table >> table = self.lazy_define_table(tablename,*fields,**args) >> File "C:\web2py_src_2.1.1\web2py\gluon\dal.py", line 7124, >> inlazy_define_table >> polymodel=polymodel) >> File "C:\web2py_src_2.1.1\web2py\gluon\dal.py", line 920, increate_table >> self.create_sequence_and_triggers(query,table) >> File "C:\web2py_src_2.1.1\web2py\gluon\dal.py", line 2865, >> increate_sequence_and_triggers >> self.execute(query) >> File "C:\web2py_src_2.1.1\web2py\gluon\dal.py", line 2856, in execute >> return self.log_execute(command, args) >> File "C:\web2py_src_2.1.1\web2py\gluon\dal.py", line 1687, inlog_execute >> ret = self.cursor.execute(*a, **b) >> DatabaseError: ORA-00955: name is already used by an existing object >> >> >> Thought I might give writing a patch a try so I tried catching and ignoring >> the exception in the OracleAdaptor but it does not work. >> >> After setting migrate_enabled to False: >> db = DAL(settings.database_uri, check_reserved=['oracle'], >> migrate_enabled=False) >> >> >> I get this error: >> Traceback (most recent call last): >> File "C:\web2py_src_2.1.1\web2py\gluon\main.py", line 541, in wsgibase >> session._try_store_in_db(request, response) >> File "C:\web2py_src_2.1.1\web2py\gluon\globals.py", line 670, in >> _try_store_in_db >> record_id = table.insert(**dd) >> File "C:\web2py_src_2.1.1\web2py\gluon\dal.py", line 7812, in insert >> return ret >> File "C:\web2py_src_2.1.1\web2py\gluon\dal.py", line 1160, in insert >> raise e >> IntegrityError: ORA-01400: cannot insert NULL into >> ("UWAVEDAT"."WEB2PY_SESSION_TAMOTO"."ID") >> >> >> >> --