this is a known Python 3 specific issue which will be fixed in 0.8 and is 
ticket 2638: http://www.sqlalchemy.org/trac/ticket/2638.

Python 3 + pyodbc is not an environment that's been tested as of yet.   

On Jan 9, 2013, at 7:35 AM, Stephen Ray wrote:

> My envirionment is SQLAlchemy 0.7.9, pyodbc 3.0.2, Python 3.2, and SQL Server 
> 2008 R2 running on Windows 7
>  
> I have the following Python (details of the connection url removed - the 
> connection to the db succeeds):
>  
> from sqlalchemy import create_engine, MetaData, Table
> engine = create_engine(dburl, description_encoding=none)
> meta = MetaData(engine)
> meta.reflect(None, None, False, ['Exercise'])
>  
> The final line causes the following exception:
>  
> Traceback (most recent call last):
>   File 
> "C:\Subversion\ProFormGraphMetrics\ProFormGraphMetrics\ProFormGraphMetrics.py",
>  line 13, in <module> meta.reflect(None,None,False,['Exercise'])
>   File 
> "C:\Python32\lib\site-packages\sqlalchemy-0.7.9-py3.2.egg\sqlalchemy\schema.py",
>  line 2507, in reflect connection=conn))
>   File 
> "C:\Python32\lib\site-packages\sqlalchemy-0.7.9-py3.2.egg\sqlalchemy\engine\base.py",
>  line 2511, in table_names return self.dialect.get_table_names(conn, schema)
>   File "<string>", line 1, in <lambda> File 
> "C:\Python32\lib\site-packages\sqlalchemy-0.7.9-py3.2.egg\sqlalchemy\engine\reflection.py",
>  line 39, in cache return fn(self, con, *args, **kw)
>   File 
> "C:\Python32\lib\site-packages\sqlalchemy-0.7.9-py3.2.egg\sqlalchemy\dialects\mssql\base.py",
>  line 1233, in get_table_names table_names = [r[0] for r in 
> connection.execute(s)]
>   File 
> "C:\Python32\lib\site-packages\sqlalchemy-0.7.9-py3.2.egg\sqlalchemy\engine\base.py",
>  line 1449, in execute params)
>   File 
> "C:\Python32\lib\site-packages\sqlalchemy-0.7.9-py3.2.egg\sqlalchemy\engine\base.py",
>  line 1584, in _execute_clauseelement compiled_sql, distilled_params
>   File 
> "C:\Python32\lib\site-packages\sqlalchemy-0.7.9-py3.2.egg\sqlalchemy\engine\base.py",
>  line 1651, in _execute_context None, None)
>   File 
> "C:\Python32\lib\site-packages\sqlalchemy-0.7.9-py3.2.egg\sqlalchemy\engine\base.py",
>  line 1843, in _handle_dbapi_exception from e
> sqlalchemy.exc.StatementError: 'str' object has no attribute 'decode' 
> (original
> cause: AttributeError: 'str' object has no attribute 'decode') 'SELECT 
> [TABLES_1
> ].[TABLE_NAME] \nFROM [INFORMATION_SCHEMA].[TABLES] AS [TABLES_1] \nWHERE 
> [TABLE
> S_1].[TABLE_SCHEMA] = ? AND [TABLES_1].[TABLE_TYPE] = ? ORDER BY 
> [TABLES_1].[TAB
> LE_NAME]' []
>  
> Since (from my reading of the Python documentation) str.decode() is removed 
> in Python 3.2 I suspect the 2to3 conversion script is not being run on 
> install of sqlalchemy. I have installed SQLAlchemy with both easy_install and 
> by running "Python setup.py install" on the downloaded source but have not 
> been able to get beyond this error.
>  
> Any help or guidance would be most appreciated. 
> 
> 
> 
>  
>  
> 
> 
> 
>  
> 
> -- 
> 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/-/vnVvHdbYBQ4J.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> To unsubscribe from this group, send email to 
> sqlalchemy+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/sqlalchemy?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to