r - 如何在 R 中使用 RODBC 在 MS Access 中执行查询?
问题描述
我不想编写自己的查询,而是想在 MS Access 数据库中使用保存的查询,运行它,然后将输出提取到 R 中的数据框。有没有办法在 RODBC 中做到这一点?
这篇文章正是我需要的,但对于 RODBC:如何使用 pyodbc 执行保存在 MS Access 中的查询
解决方案
我以前使用过 RODBC,你应该能够做到这一点。根据我的经验,您可以遵循一些步骤:
- 在您的访问数据库中设置您需要的查询。
- 在您的 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)
推荐阅读
- ruby-on-rails - 远程按钮方法发布到控制器中重定向的问题
- google-apps-script - 使用包含某些字词的云端硬盘中的 Google 文档填充 Google 表格
- javascript - Creating styled-component for component but don't know type
- c++ - DukTape REPL 实现,ECMAScript 总是返回 DUK_TYPE_UNDEFINED:如何使用 duk_safe_call 接收脚本返回值?
- node.js - 尝试 npx idk 部署 React 应用程序时出现 ERR_OSSL_EVP_UNSUPPORTED
- r - 当我的图形生成值为 0 时如何调整错误
- node.js - node-fetch 返回 403 而 curl 返回 200
- python - 基于 Dataframe 的列将具有 UTC 时区的日期时间列转换为另一个 TimeZone
- python - 时间序列预测股票不起作用
- python - 锁对象只能通过继承在进程之间共享