Pyodbc.drivers() 在 Mac 上返回空列表

Mar*_*man 4 python homebrew odbc driver pyodbc

我正在尝试使用 sqlalchemy 访问 SQL 数据库,但我似乎没有安装任何 ODBC 驱动程序。我已按照 Microsoft 的说明通过 Homebrew 安装 ODBC 驱动程序:

https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos?view=sql-server-2017

但仍然不够。当我执行 pip install pyodbc 时,它返回它已安装。但是,当我搜索驱动程序时,我只得到一个空列表:

In[1]: import pyodbc
In[2]: pyodbc.drivers()
Out[2]: []
Run Code Online (Sandbox Code Playgroud)

提前致谢。

小智 6

某些用户在安装 ODBC 驱动程序后尝试连接时遇到问题,并收到类似以下错误:“[01000] [unixODBC][驱动程序管理器]无法打开 lib 'ODBC Driver 17 for SQL Server': 文件未找到 (0 ) (SQLDriverConnect)”。可能是 unixODBC 未正确配置以查找注册的驱动程序。在这些情况下,创建几个符号链接可以解决问题。

sudo ln -s /usr/local/etc/odbcinst.ini /etc/odbcinst.ini
sudo ln -s /usr/local/etc/odbc.ini /etc/odbc.ini
Run Code Online (Sandbox Code Playgroud)

以上对我有用。 参考

  • 对于 M1 Mac,上述符号链接可能无效。这是因为 M1 上的 homebrew 目录是“/opt/homebrew”,而不是 Intel 的“/usr/local”。因此,应相应调整路径。 (6认同)