安装适用于Mac pyodbc的ODBC驱动程序

问题描述 投票:1回答:1

使用我的Mac尝试连接到SQL Server数据库。关注Microsoft's instructions。但是,当我输入:

brew install --no-sandbox [email protected] [email protected]

我收到错误:

odbcinst: SQLInstallDriverEx failed with Invalid install path.

如果我安装ODBC驱动程序(在Microsoft的说明网页上)并手动加载到python脚本,这可能吗?这是我的python代码:

import pyodbc
import pandas as pd

cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
                       "Server=server_name;"
                       "Database=Sandbox;"
                       "uid=username;pwd=password")
df = pd.read_sql_query('select * from table', cnxn)

在这段代码中,我如何将压缩下载的驱动程序替换为connect语句,从而绕过brew?

python sql-server macos odbc
1个回答
0
投票

在这段代码中,我如何将压缩下载的驱动程序替换为connect语句,从而绕过brew?

答案是否定的,你不能做你所要求的 - 你正在谈论各种目的。 brew(Homebrew)是包管理器命令,在这种情况下需要在Mac上安装驱动程序,以便您的Python代码可以与数据库通信。简而言之,如果没有安装驱动程序,就无法运行Python代码,因此没有办法绕过它。

你用来安装驱动程序的Homebrew tap(https://github.com/Microsoft/homebrew-mssql-release)最近有一些变化,包括几个类似于你的issues,现在已经关闭/解决了。所以,请尝试以下方法:

# This updates the tap and Homebrew to the latest versions
brew update

# Install the drivers; note options like `--no-sandbox` are no longer in Homebrew
brew install [email protected] [email protected]

这适用于我的带有Homebrew 2.0.1的macOS 10.14环境。检查/usr/local/etc/odbcinst.ini上的文件,您应该看到对[ODBC Driver 13 for SQL Server]定义的引用。您需要更改Python代码以反映此新驱动程序的名称,如下所示:

cnxn = pyodbc.connect("Driver={ODBC Driver 13 for SQL Server};"
© www.soinside.com 2019 - 2024. All rights reserved.