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/

相关文章:

r - 省略列而不是将它们放在 purrr 中

r - 是否可以仅使用响应变量拟合线性模型?

macos - Chrome /火狐 : access source of an extension

macos - 如何使用 Automator 调整 Visual Studio Code 窗口的大小?

java - MouseMotionListener 事件不会在屏幕的某些区域触发

r - 将整数向量写入文件不会产生 xxd 中所示的预期值

ruby-on-rails - 将大型数据集导入数据库

postgresql - 如何在 Yii2 中使用新创建的自定义 Postgres 模式类型(ENUM)

postgresql - 事务内 PostgreSQL 模式更改的限制?

r - "Vectorized"矩阵乘法