如何在 R 中使用 RODBC 在 MS Access 中执行查询?

Posted

技术标签:

【中文标题】如何在 R 中使用 RODBC 在 MS Access 中执行查询?【英文标题】:How to execute a Query inside MS Access using RODBC in R? 【发布时间】:2019-04-08 05:45:00 【问题描述】:

我不想编写自己的查询,而是想在 MS Access 数据库中使用保存的查询,运行它,然后将输出提取到 R 中的数据框。有没有办法在 RODBC 中执行此操作?

这篇文章正是我需要的,但对于 RODBC:How to execute query saved in MS Access using pyodbc

【问题讨论】:

【参考方案1】:

我以前使用过 RODBC,您应该能够做到这一点。根据我的经验,您可以遵循一些步骤:

    在 access 数据库中设置您需要的查询。 在您的 PC 上设置与 access 数据库的 ODBC 连接。 编写将使用 RODBC 包连接到 access 数据库的 R 脚本(通过 2 中的 ODBC 连接)并执行您在上面第 1 点中设置的脚本。

如果您想在 R 脚本中对 sql 进行硬编码(类似于您给出的 python 示例),您可以省略上面的第 1 点。根据我的经验,将 SQL 编写为存储过程或视图通常更健壮。这样做可以让您在开始在 R 环境中工作之前在数据库上测试您的 SQL。

如果您按照这些步骤操作,那么您的 R 代码应该类似于:

conn <- odbcConnect(dsn="MyOdbcConnectionName", uid="myDatabaseUserName", pwd="myPassword") 
query <- "YourQuery goes here" 
# e.g. "select * from table"
# e.g. "EXEC myStoredProcedure"
data <- sqlQuery(conn, query)
close(conn) 

【讨论】:

以上是关于如何在 R 中使用 RODBC 在 MS Access 中执行查询?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ubuntu 16.04 上将 Ms SQL 服务器与 R 连接?

使用 RODBC 和 MS SQL Server 的长时间运行查询超时

使用 MAC 10.11.6 在 R 中安装 RODBC 包

获取 MS SQL Server 2008 的连接字符串

如何在 RODBC 中运行 SQL 更新语句?

在 R 中使用 RODBC 连接到 Azure SQL