RODBC 连接到 Mavericks 上的 SQL Server

Posted

技术标签:

【中文标题】RODBC 连接到 Mavericks 上的 SQL Server【英文标题】:RODBC to connect to SQL Server on Mavericks 【发布时间】:2014-05-02 01:09:43 【问题描述】:

我可以在 OSX 10.9.2 Mavericks 上使用 RODBC 连接到 SQL Server(免费)吗?

我特别想:

    dB <- odbcConnect("dataBase",pwd="password",uid="userID")
    t <- sqlQuery(dB,"SELECT * FROM myTable")

但是 odbcConnect 一遍又一遍地抛出这个警告并且永远不会返回......

    50: In odbcDriverConnect("DSN=dataBase;UID=userID;PWD=password") : [RODBC] ERROR: state IM002, code 1408279968, message [iODBC][Driver Manager]Data source name not found and no default driver specified. Driver could not be loaded

老实说,我还没有使用正确的 DSN 设置带有 iODBC 的 DSN,因为我没有免费的 SQL Server 驱动程序。

报告在 OSX 10.9.2 Mavericks 下使用 RODBC 连接到 SQL Server 的少数人有点晦涩难懂。没有命名驱动程序,也没有提到他们手动编译了 RODBC 或 iODBC。

更新:现在讨论这些问题: Installation of RODBC on OS X Yosemite 和 Installation of RODBC/ROracle packages on OS X Mavericks

【问题讨论】:

【参考方案1】:

目前这需要比平时更多的跑腿工作的唯一原因是(还)没有适用于 Mavericks 的 RODBC 二进制文件。

即便如此,您需要一个驱动程序并设置一个 DSN。我一直使用来自 Actual Technologies 的驱动程序(不是免费的)并且对它们非常满意。否则,您必须从源代码下载并编译 iODBC 或 unixODBC。

但是,您仍然需要编译 RODBC 表单源代码,这将需要 iODBC 头文件,Apple 显然不再提供这些头文件。

如果您下载最新的 iODBC 源,然后将搜索路径设置为源位置,或者只是将头文件放在 /usr/include 中,将 libiodbc.a 文件放在 /usr/lib 中。然后你应该能够从源代码编译 RODBC。

最后,除了关于 RODBC 缺少 Mavericks 二进制文件的临时问题之外,所有这些都在 RODBC 小插图中得到了令人难以置信的详细解释。

【讨论】:

感谢您的确认,希望问题早日结束!

以上是关于RODBC 连接到 Mavericks 上的 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

使用 R studio 连接到 dashDB 的 RODBC

使用 docker、rbase 和 RODBC 连接到 sql server 时出错

macOS Catalina 上的 RODBC

通过 RODBC 连接到 SQL Server 数据库

在 R 中使用 RODBC 连接到 Azure SQL

尝试使用 RODBC 将 R 连接到 PostgreSQL 时出错