Okay I'll get rid of it. On Apr 27, 2009, at 6:04 PM, "Michael Bayer" <[email protected]> wrote:
> > > I'd love to revert that change and just say MSSQL doesn't support > SAVEPOINT for now. or put an "enable_savepoint" flag in the dialect. > > > polaar wrote: >> >> Could this be related to this change: >> http://www.sqlalchemy.org/trac/changeset/5564 >> >> I encountered a similar problem with mssql/pyodbc today (the echo >> output showed the correct statements and params, but no changes >> seemed >> to be made in the db at all). The problem only occurred when using >> the >> orm/session layer, same statements with engine.execute seemed to >> work. >> >> I managed to "fix" it by reverting the change with the following >> monkeypatch: >> >> from sqlalchemy.databases.mssql import MSSQLDialect >> MSSQLDialect.do_begin = lambda self, conn: pass >> >> Not sure this is related though (or if this is a good solution), just >> thought I'd let it know in case it helps. >> >> greetings, >> >> Steven >> >> >> >> On 25 apr, 15:05, Michael Trier <[email protected]> wrote: >>> On Apr 24, 2009, at 7:50 PM, Michael Mileusnich >>> >>> <[email protected]> wrote: >>>> Wow..your example worked for me. Could the kwargs the issue? >>> >>> No. Likely you have some sort of conflict on the dbapi side. >>> >>> If it's possible for you to send me your actual code >>> ([email protected]) I'd be happy to try and figure out the issue. >>> >>>> On Fri, Apr 24, 2009 at 3:14 PM, mtrier <[email protected]> wrote: >>> >>>>>> On Apr 24, 2009, at 4:02 AM, Michael Mileusnich wrote: >>> >>>>>> I have formated my PC with Vista 32. I also Installed SQL >>>> Server 2008 >>>>>> Express. Installed Python 2.6 and pyodbc...SAME ISSUE. I would >>>> be willing >>>>>> to have somebody overlook my python code. With echo on >>>> everything looks >>>>>> like it should be INSERTING. >>> >>>> I've written this script based on the information you have >>>> supplied. >>>> It works fine for me: >>> >>>> from sqlalchemy import * >>>> from sqlalchemy.orm import * >>> >>>> engine = create_engine('mssql://sprint:spr...@localhost/sprint', >>>> echo=True) >>>> metadata = MetaData(engine) >>>> Session = scoped_session(sessionmaker(bind=engine, autoflush=False, >>>> autocommit=True)) >>> >>>> action_table = Table( >>>> 'ACTIONS', metadata, >>>> Column('ACTIONID', String(48), primary_key=True), >>>> Column('TITLE', String(128)), >>>> Column('CMDLINE', String(512)), >>>> Column('STDIN', Text), >>>> Column('STARTINDIR', String(512)), >>>> Column('PRIO', Integer), >>>> ) >>> >>>> class action(object): >>>> def __init__(self, ACTIONID, CMDLINE): >>>> self.ACTIONID = ACTIONID >>>> self.CMDLINE = CMDLINE >>> >>>> def __repr__(self): >>>> return "<action('%s', '%s')>" % (self.ACTIONID, >>>> self.CMDLINE) >>> >>>> mapper(action, action_table) >>> >>>> metadata.create_all() >>> >>>> session = Session() >>>> new_action = action(ACTIONID = '500', CMDLINE = 'sol') >>>> session.add(new_action) >>>> session.flush() >>>> session.expunge_all() >>> >>>> act = session.query(action).filter_by(ACTIONID='500').one() >>>> assert new_action.ACTIONID == act.ACTIONID >>> >>>> ---------------------- >>> >>>> Would you please try it and let me know what results you get. The >>>> following is my output. >>> >>>> S:\sqlalchemy.git\lib>python msssqlprob.py >>>> 2009-04-24 16:10:30,473 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> SELECT user_name() as user_name; >>>> 2009-04-24 16:10:30,552 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> [] >>>> 2009-04-24 16:10:30,568 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> SELECT default_schema_name FROM >>>> sys.database_principals >>>> WHERE name = ? >>>> AND type = 'S' >>> >>>> 2009-04-24 16:10:30,568 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> [u'dbo'] >>>> 2009-04-24 16:10:30,582 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> SELECT [COLUMNS_1].[TABLE_SCHEMA], [COLUMNS_1].[TAB >>>> LE_NAME], [COLUMNS_1].[COLUMN_NAME], [COLUMNS_1].[IS_NULLABLE], >>>> [COLUMNS_1].[DATA_TYPE], [COLUMNS_1].[ORDINAL_POSITION], >>>> [COLUMNS_1].[CHARACTER_MAXIMUM_LENGTH], [COLUMNS_1]. >>>> [NUMERIC_PRECISION], [COLUMNS_1].[NUMERIC_SCALE], [COLUMNS_1].[COLU >>>> MN_DEFAULT], [COLUMNS_1].[COLLATION_NAME] >>>> FROM [INFORMATION_SCHEMA].[COLUMNS] AS [COLUMNS_1] >>>> WHERE [COLUMNS_1].[TABLE_NAME] = ? AND [COLUMNS_1].[TABLE_SCHEMA] >>>> = ? >>>> 2009-04-24 16:10:30,598 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> ['ACTIONS', u'dbo'] >>>> 2009-04-24 16:10:30,598 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> CREATE TABLE [ACTIONS] ( >>>> [ACTIONID] VARCHAR(48) NOT NULL, >>>> [TITLE] VARCHAR(128) NULL, >>>> [CMDLINE] VARCHAR(512) NULL, >>>> [STDIN] TEXT NULL, >>>> [STARTINDIR] VARCHAR(512) NULL, >>>> [PRIO] INTEGER NULL, >>>> PRIMARY KEY ([ACTIONID]) >>>> ) >>> >>>> 2009-04-24 16:10:30,630 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> () >>>> 2009-04-24 16:10:30,661 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> COMMIT >>>> 2009-04-24 16:10:30,693 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> BEGIN >>>> 2009-04-24 16:10:30,707 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> INSERT INTO [ACTIONS] ([ACTIONID], [TITLE], [CMDLIN >>>> E], [STDIN], [STARTINDIR], [PRIO]) VALUES (?, ?, ?, ?, ?, ?) >>>> 2009-04-24 16:10:30,707 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> ['500', None, 'sol', None, None, None] >>>> 2009-04-24 16:10:30,723 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> COMMIT >>>> 2009-04-24 16:10:30,723 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> SELECT TOP 2 [ACTIONS].[ACTIONID] AS [ACTIONS_ACTIO >>>> NID], [ACTIONS].[TITLE] AS [ACTIONS_TITLE], [ACTIONS].[CMDLINE] AS >>>> [ACTIONS_CMDLINE], [ACTIONS].[STDIN] AS [ACTIONS_STDI >>>> N], [ACTIONS].[STARTINDIR] AS [ACTIONS_STARTINDIR], [ACTIONS]. >>>> [PRIO] >>>> AS [ACTIONS_PRIO] >>>> FROM [ACTIONS] >>>> WHERE [ACTIONS].[ACTIONID] = ? >>>> 2009-04-24 16:10:30,740 INFO sqlalchemy.engine.base.Engine.0x... >>>> 6110 >>>> ['500'] >>> >>>> Michael Trier >>>> http://michaeltrier.com >>> >> > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
