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

时间:2019-04-08 05:45:00

标签: r ms-access rodbc

我不想编写自己的查询,而是要在MS Access数据库中使用保存的查询,运行该查询,然后将输出提取到R中的数据帧中。是否可以在RODBC中做到这一点?

除了RODBC:How to execute query saved in MS Access using pyodbc

正是我所需要的

1 个答案:

答案 0 :(得分:0)

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

  1. 设置访问数据库中所需的查询。
  2. 在PC上建立与访问数据库的ODBC连接。
  3. 编写R脚本,该脚本将使用RODBC包连接到访问数据库(通过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)