Pyodbc's docs seem to be wrong as far as "scope_identity()" in any case, I seem to get back a number here whether I execute scope_identity() or select @@identity.
The flag does what's expected in ra98001d03a2f, though you'll have to confirm it's working with that rather extreme trigger you have there. http://hg.sqlalchemy.org/sqlalchemy/archive/default.tar.gz Why not remove the IDENTITY directive from that column, since you're not using IDENTITY anyway? On Apr 5, 2012, at 11:46 AM, Derek Litz wrote: > Good news! I was able to reproduce the exception after modifying your test > script. Attached is my info and the script. > > Below is also repeated at the beginning of the two files. > > NOTE: You will need to edit connect_to_mssql() > I was able to get the following error using this script. > > --------mssql_implicit_ret.py-------------- > > ERROR: test_ins (__main__.TestInsWTrigger) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "mssql_implicit_ret.py", line 56, in test_ins > r = con.execute(self.t1.insert(), descr='there') > File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", > line 1450, in execute > params) > File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", > line 1583, in _execute_clauseelement > compiled_sql, distilled_params > File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", > line 1709, in _execute_context > context.post_exec() > File > "/usr/local/lib/python2.7/site-packages/sqlalchemy/dialects/mssql/pyodbc.py", > line 199, in post_exec > self._lastrowid = int(row[0]) > TypeError: int() argument must be a string or a number, not 'NoneType' > > ------------my_info.txt--------------------- > > Note, I had to update to sqlalchemy version 0.7.6 to run your unit test > because engine did not have the begin method in 0.7.3. Below is my > information prior to that single update. Nothing else needed to be updated. > > There are actually two potential bugs I'm seeing > > 1.) File > "/usr/local/lib/python2.7/site-packages/sqlalchemy/dialects/mssql/pyodbc.py", > line 199, in post_exec > self._lastrowid = int(row[0]) > 2.) use_scope_identity=False appears to do nothing. > > Thanks, > > Derek > > > On Monday, April 2, 2012 5:37:35 PM UTC-5, Michael Bayer wrote: > Also, attached is a test script based on our unit tests which illustrates the > feature working as expected - can you run this on a test database on your > end, and if it passes, try to modify the trigger/table def so that it > reproduces your output ? the test creates/drops two tables and a trigger. > thanks. > > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/sqlalchemy/-/h9aqQCA-8WwJ. > 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. > <my_info.txt><mssql_implicit_ret.py> -- 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.
