我的操作系统是 Mac Big Sur 11.6 (20G165)。我正在尝试连接到 Azure 服务器。
当我在通过 Anaconda 运行的 Jupyter Notebook 中尝试时,出现以下错误:
Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")
当我检查 pyodbc 驱动程序(也在 Anaconda 的笔记本中)时,它是空的。
import pyodbc
pyodbc.drivers()
[]
但是,我可以通过终端连接到所需的连接
isql -v -k 'my connection string'
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
以及在 Anaconda 之外检查 Python 中的 pyodbc 显示正确的驱动程序
python3
Python 3.9.7 (default, Oct 13 2021, 06:45:31)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
>>> print(pyodbc.drivers())
['ODBC Driver 17 for SQL Server']
我猜测这与 Anaconda 的虚拟环境有关,但是我该怎么做才能使 Anaconda 的 pyodbc 指向正确的位置?
它仅随安装的“SQL Server”一起提供。因此,只需使用 DRIVER={{SQL Server}} 作为您的驱动程序,它就应该可以工作:)