我在使用 ROracle 检索大量数据时遇到问题(我对 Oracle 数据库拥有只读权限)由于所涉及的数据超过 4 个演出,我无法使用 ROracle 中完美运行的 dbGetQuery。
相反,我正在尝试使用 dbSendQuery + fetch,但它似乎不适用于 Oracle。(它与 RmySQL 包完美配合)
例如 :
使用我的 Oracle 版本:
dbGetQuery(con2, "select * from PRODUCT_COMPONENT_VERSION")
PRODUCT VERSION STATUS
NLSRTL 10.2.0.3.0 Production
Oracle Database 10g Enterprise Edition 10.2.0.3.0 Prod
PL/SQL 10.2.0.3.0 Production
TNS for 32-bit Windows: 10.2.0.3.0 Production
如果我尝试:
query <- "SELECT * FROM BFMXML_SUIVI"
rs <- dbSendQuery(con2, query, bulk_read = 10000L, prefetch = T)
test <- fetch(rs, n = 10)
dim(test)
[1] 1 13
dbGetRowCount(rs)
[1] 1
但我希望得到10行......
然后再次获取:
test <- fetch(rs, n = 10)
dim(test)
[1] 1 13
dbGetRowCount(rs)
[1] 1
因此,没有提取下一行并查看“测试”的结果,我可以看到它只填充了零(这是不对的 + 第一次 fetch 调用不是这种情况)
你看到任何替代/解决方案吗?