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

pyodbc (4.0.23) error connecting to MySQL from Python3

我尝试通过 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)')

感谢您的帮助。

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