Have you tried adding echo=True to the engine to observe the actual SQL? -- Mike Conley
On Fri, Mar 20, 2009 at 8:23 PM, davidlmontgomery < [email protected]> wrote: > > I'm using sqlalchemy with sql server express. Client-side > is also Windows, running python 2.5.2. > > I find that all my changes get rolled back when using > 0.5.2. But using 0.4.8, things work as I expect. > > Here is an example script: > > --- start script --- > import datetime > import sqlalchemy > from sqlalchemy.orm import scoped_session, sessionmaker > > print "sqlalchemy version:", sqlalchemy.__version__ > > conn_str = 'mssql://<user>:<password>@<server>/<database>?dsn=<dsn>' > mssql_engine = sqlalchemy.create_engine(conn_str) > mssql_metadata = sqlalchemy.MetaData(bind=mssql_engine) > MSSQLSession = scoped_session(sessionmaker(bind=mssql_metadata.bind)) > > data = 'bingo' > now = datetime.datetime.now() > time = now.strftime('%Y-%m-%d %H:%M:%S') > command = "INSERT sa_test (data, time) VALUES ('%s', '%s')" % (data, > time) > > session = MSSQLSession() > session.execute(command) > session.commit() > > command = "SELECT COUNT(*) FROM sa_test WHERE data='%s'" % data > > session = MSSQLSession() > print "count:", session.execute(command).scalar() > > MSSQLSession.remove() > --- end script --- > > Running this I'll get "count: 1" (assuming a clean sa_test table), > showing > that the insert occurred. But then looking in the database, I'll see > that > the data aren't there (with 0.5.2; with 0.4.8 the data will be there). > > The same thing happens with updates. > > It appears to me that the session.commit() call isn't working > with 0.5.2. I think the transaction is staying open until the call > to MSSQLSession.remove(), which rolls everything back. > > Some evidence of that ... If I add the line > > raw_input("Enter to exit.") > > before the MSSQLSession.remove(), and then while paused there > I go to a query window in sql server express, if I'm using 0.5.2 I'll > find that queries against the table hang -- presumably waiting for > the transaction to finish. But with 0.4.8 this has no effect -- the > changes have already been committed. > > Thanks for any help resolving this. > > David > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---
