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

标签 macos postgresql r rodbc

我正在尝试使用 RODBC 连接到 R。然而,当我运行时

ch <- odbcConnect("rails_dev", uid="skline", pwd="d0gsleep")

我收到这个错误:

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

有什么想法吗?我对此很陌生,不知道下一步该怎么做……在此先感谢您!”

请注意我使用的是 Mac OSX

最佳答案

编辑:下面的答案已经过时,因为某些提到的包在 CRAN 上不再可用。我把它留在这里以供引用。

可以在以下问题中找到更多最新信息:

How to connect R with PostgreSQL on OSX 10.10.2?


要在 Mac 上连接到 PostgreSQL,您可以使用包 RpgSQL。请务必阅读 installation notes ,因为您的 PostgreSQL 安装必须设置为使用 JDBC。这是迄今为止最简单的方法。如果您安装 PostgreSQL,您会在安装过程结束时启动 Stack Builder(请参阅 installation guide)。或者,您可以在安装后使用 Stack Builder(包含在 postgreSQL 安装中)添加额外的组件。在数据库驱动程序下,您应该找到 postgresql JDBC。

评论中提到的 rdbi 包已从 CRAN 中删除,afaik 不再维护。

如果你真的需要使用 ODBC,你需要一个 PostgreSQL 的驱动程序,而且你的计算机上的 ODBC 实现必须知道它。 Jim M.给你的司机是一种选择,另一种是Openlinksw的司机或 pgFoundry 上的“官方” .通常,您应该能够像下载 JDBC 驱动程序一样从 Stack Builder 下载 ODBC 驱动程序:在数据库驱动程序标题下,您还有一个 postgresql ODBC。

对于最新版本的 OSX,您显然需要安装自己的 odbc 管理器。在评论中提到的 Eelke 旁边,还有来自 Apple 的 here .在此管理器中,您可以指定驱动程序位置等,并通过 ODBC 建立与 PostgreSQL 的连接。如何执行此操作取决于您使用的管理器,并在帮助文件中进行了说明。阅读 FAQ of iODBC 中的相关部分总是很有趣和关于 ODBC on Mac 的部分.

旁注:在 R 中,您可以使用 RODBC 包的命令 odbcDataSources() 检查可以找到哪些 DSN。如果那里没有提到 Postgresql,你知道你必须先看看你的设置。

关于macos - 尝试使用 RODBC 将 R 连接到 PostgreSQL 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5807766/

相关文章:

macos - 将授权服务与 NSTask 结合使用

android - ionic 无法运行 ionic 平台android

objective-c - 颜色 |从 RGB 值创建颜色

mysql - 表中的列数是否会影响没有索引的表上的 count(*) 查询的性能?

r - 如何使用 write.xlsx 对 R 中创建的 Excel 文件进行密码保护?

ruby - 使用 ruby​​-install 在 Mac OSX Catalina 上安装 Ruby 2.2

SQL注入(inject)漏洞检查

postgresql - 删除表时保留从 BIGSERIAL 创建的序列

r - 如果行中的变量在 R 中匹配或不匹配,如何将 1 和 0 分配给列

r - 设置 .libPaths() 以使用 Rscript.exe 从命令行运行 R 脚本