首页 > 解决方案 > 如何在 R 中使用 RODBC 在 MS Access 中执行查询?

问题描述

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

这篇文章正是我需要的,但对于 RODBC:如何使用 pyodbc 执行保存在 MS Access 中的查询

标签: rms-accessrodbc

解决方案


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

  1. 在您的访问数据库中设置您需要的查询。
  2. 在您的 PC 上设置与 access 数据库的 ODBC 连接。
  3. 编写将使用 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) 

推荐阅读