首页 > 解决方案 > 如何将 DBI ODBC SQL 查询下载到文件

问题描述

我有以下代码用于连接到 ODBC 驱动程序并从 Oracle 数据库运行 SQL 查询:

con <- DBI::dbConnect(odbc::odbc(),   
            Driver="Oracle in OraClient12Home1_32bit",
            DBQ="selfservice.coname.com:1523/PRD.WORLD",
            Schema="PRD",
            UID=rstudioapi::askForPassword("Database user"),
            WD=rstudioapi::askForPassword("Database password")
)

res <- dbSendQuery(con,
                   "select a.vsys_group_num,
                           a.vsys_plan_num,
                           a.vsys_subgroup_num, 
                           a.vsys_cs_code, 
                           a.tax_id, 
                           p.first_name,
                           p.last_name, 
                           a.acct_num, 
                           a.acct_status, 
                           a.cash_value_amt
                      from lhods.account_a a, 
                           lhods.participant_a p 
                     where a.vsys_group_num = '44936' 
                       and a.vsys_plan_num in ('003','001')
                       and a.tax_id = p.tax_id"
)

View(res) dbFetch(res)

**** dbFetch 从我的查询中返回前 500 行数据。所以我在控制台中看到了正确的结果****

当我尝试将结果写入文件时,无论我尝试了哪些功能,我总是会收到此错误:

Error in as.data.frame.default(x[[i]], optional = TRUE) :    cannot coerce class ‘structure("Oracle", package = ".GlobalEnv")’ to a data.frame

我怎么能把它变成一个文件(txt、csv、excel等等)?我知道这可能是一些愚蠢的事情。我从未尝试通过 ODBC 在 R 中导出数据。我习惯于处理来自 stat 包和 excel 的数据,而不是来自 ODBC 连接的数据。请帮忙,因为我知道在 R 中运行它会很棒。

标签: dataframeodbcrstudio

解决方案


推荐阅读