上周我有一个problem。我在Windows和Linux上使用SqlAlchemy和pyodbc。在Windows上,一切都运行良好,在Linux上,我得到错误。
现在我用pdb
调试了SqlAlchemy和pandas源代码。我发现/sqlalchemy/dialects/mysql/pyodbc.py
设置supports_unicode_statements = False
。如果我将其设置为True
,那么我将不会在sqlalchemy日志记录中获得字节sql查询(请参阅下面的链接中的详细信息)。所以我明白了:
2015-12-09 14:06:03,237 | INFO | 5528 - SELECT 1;
2015-12-09 14:06:03,237 | INFO | 5528 - ()
2015-12-09 14:06:03,241 | INFO | 5528 - ROLLBACK
但是我得到了另一个错误:
sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('HY000', '[HY000] [unixODBC][Driver Manager]
Driver returned SQL_ERROR or SQL_SUCCESS_WITH_INFO but no error reporting API found (0)
(SQLExecDirectW)') [SQL: 'SELECT 1;']
知道我为什么这么做?如果我使用mssql+pyodbc
方言ins mysql+pyodbc
,那么我会得到同样的错误:(
感谢您的帮助!