2

我无法使用 unixODBC 作为在 Mac OS 上运行的底层驱动程序连接到 MySQL ODBC 8.0 Unicode 驱动程序。

我在 python 3.6 上使用 pyodbc 包。当我使用 ANSI 驱动程序时一切正常,但 Unicode 驱动程序不起作用。

这是我的 Mac 上安装的可用驱动程序。

['MySQL ODBC 8.0 ANSI 驱动程序'、'MySQL ODBC 8.0 Unicode 驱动程序'、'ODBC 驱动程序'、'ODBC 连接池']

我的连接字符串

self.connection_string = 'Driver={MySQL ODBC 8.0 Unicode Driver};Server=localhost;Database=db_name;Uid=root;Pwd=P@kistan1;charset=UTF8;Option=3;'

而 pyodbc.Error 检测到的错误是

('H000', '[H000] [ (0) (SQLDriverConnect)')

我能够使用 iODBCAdmin 建立连接,它告诉我驱动程序是正确的。

iODBC 管理员

4

1 回答 1

0

我不知道为什么在 stmt=SET NAMES 'utf8' 之后它可以工作但 Unicode 驱动程序已经存在

DRIVER={MySQL ODBC 8.0 Unicode Driver}; SERVER=xxxxx; DATABASE=xxxxx; UID=xxxxx;PASSWORD=xxxxx; OPTION=3; port=3306; stmt=SET NAMES 'utf8';
于 2020-10-30T09:36:40.370 回答