macOS Catalina 上的 RODBC
RODBC on macOS Catalina
我无法让 RODBC 在 macOS Catalina 上运行。我正在尝试连接到 MS SQL 服务器。我已经使用 Homebrew 安装了 unixODBC,并从 here 安装了 Microsoft ODBC 驱动程序。 RODBC 安装很好,我按照其他地方的建议使用它安装它:
install.packages('RODBC', type="source", configure.args='--with-odbc-include=/usr/local/lib' )
但是当我运行这个:
RODBC::odbcDriverConnect(connection = "driver={ODBC Driver 17 for SQL Server};server=XYZ;database=XYZ;UID=XYZ;PWD=XYZ")
它挂起——我必须取消命令,然后我收到一堆警告,如下所示:
[RODBC] ERROR: state IM003, code 0, message [iODBC][Driver Manager]Specified driver could not be loaded
我知道 SQL 服务器驱动程序已安装,因为在 R 中使用 ODBC 包是有效的——使用相同的驱动程序!但出于某种原因,RODBC 使用的是 iODBC,而且显然是在错误的地方寻找驱动程序。
我正在尝试编写可以在不同平台上 运行 的代码,并且我已经在 Ubuntu 和 Windows 上成功地使用了 RODBC。但是我很难弄清楚如何让 RODBC 在我的 MacBook 上工作。
一些升级后,我在 Mac 上连接 Impala 时遇到了同样的问题。解决方法是确保 RODBC 使用 unixodbc 而不是 iODBC,如下所示:
- 安装 unixodbc。我用的是 brew.
- 使用 remove.packages("RODBC")
删除 RODBC
- 从源重新安装 RODBC 并指定 unixodbc 库的路径并包含
和
install.packages("RODBC", type = "source", configure.args = c("--with-odbc-include=/usr/local/include/","--with- odbc-lib=/usr/local/lib/") )
在我的电脑上,unixodbc 在 /usr/local
我无法让 RODBC 在 macOS Catalina 上运行。我正在尝试连接到 MS SQL 服务器。我已经使用 Homebrew 安装了 unixODBC,并从 here 安装了 Microsoft ODBC 驱动程序。 RODBC 安装很好,我按照其他地方的建议使用它安装它:
install.packages('RODBC', type="source", configure.args='--with-odbc-include=/usr/local/lib' )
但是当我运行这个:
RODBC::odbcDriverConnect(connection = "driver={ODBC Driver 17 for SQL Server};server=XYZ;database=XYZ;UID=XYZ;PWD=XYZ")
它挂起——我必须取消命令,然后我收到一堆警告,如下所示:
[RODBC] ERROR: state IM003, code 0, message [iODBC][Driver Manager]Specified driver could not be loaded
我知道 SQL 服务器驱动程序已安装,因为在 R 中使用 ODBC 包是有效的——使用相同的驱动程序!但出于某种原因,RODBC 使用的是 iODBC,而且显然是在错误的地方寻找驱动程序。
我正在尝试编写可以在不同平台上 运行 的代码,并且我已经在 Ubuntu 和 Windows 上成功地使用了 RODBC。但是我很难弄清楚如何让 RODBC 在我的 MacBook 上工作。
一些升级后,我在 Mac 上连接 Impala 时遇到了同样的问题。解决方法是确保 RODBC 使用 unixodbc 而不是 iODBC,如下所示:
- 安装 unixodbc。我用的是 brew.
- 使用 remove.packages("RODBC") 删除 RODBC
- 从源重新安装 RODBC 并指定 unixodbc 库的路径并包含 和 install.packages("RODBC", type = "source", configure.args = c("--with-odbc-include=/usr/local/include/","--with- odbc-lib=/usr/local/lib/") )
在我的电脑上,unixodbc 在 /usr/local