从Python3连接到MySQL时出现pyodbc(4.0.23)错误

从Python3连接到MySQL时出现pyodbc(4.0.23)错误,python,pyodbc,Python,Pyodbc,我试图通过pyodbc连接mysql,同样的代码在python2上工作,但在python3上出现错误 这是我的密码: _protocal = 'DRIVER={/usr/local/lib/libmyodbc5.so};SERVER=127.0.0.1; PORT=3306;DATABASE=learn;UID=root;PASSWORD=root' conn = pyodbc.connect(_protocal) cursor = conn.cursor() test_sql = 'sele

我试图通过pyodbc连接mysql,同样的代码在python2上工作,但在python3上出现错误

这是我的密码:

_protocal = 'DRIVER={/usr/local/lib/libmyodbc5.so};SERVER=127.0.0.1; 
PORT=3306;DATABASE=learn;UID=root;PASSWORD=root'
conn = pyodbc.connect(_protocal)
cursor = conn.cursor()
test_sql = 'select * from students'
cursor.execute(test_sql)
以下是python3上的错误消息:

Traceback (most recent call last):
  File "temp.py", line 82, in <module>
    main()
  File "temp.py", line 71, in main
    cursor.execute(test_sql)
pyodbc.Error: ('HY000', '[HY000] [MySQL][ODBC 5.1 Driver][mysqld- 
5.7.18]Querywas empty (1065) (SQLExecDirectW)')
回溯(最近一次呼叫最后一次):
文件“temp.py”,第82行,在
main()
文件“temp.py”,第71行,主
cursor.execute(test_sql)
错误:('HY000','[HY000][MySQL][ODBC 5.1驱动程序][mysqld-
5.7.18]查询为空(1065)(SQLExecDirectW)')

感谢您的帮助。

MySQL Connector/ODBC 5.1的最新版本是在五(5)年前发布的。将驱动程序升级到最新的GA版本(5.3.10)并升级iODBC似乎解决了这个问题。

MySQL Connector/ODBC 5.1的最新版本是在五(5)年前发布的。我无法使用最新的GA版本(目前为5.3.10)复制您的问题。尝试升级到MySQL Connector/ODBC的最新版本,看看是否有帮助。@GordThompson I将ODBC更新为5.3.10,并将iodbc更新为3.52,python3工作正常。所以你可以复制你的评论来回答,我会接受的。谢谢你的帮助。