简单的 R 脚本
library(RODBC)
odbChannel <- odbcConnect(dsn = "CTPRD03", uid = "BD_RPT_RO", pwd = "****")
df.test <- sqlQuery(channel = odbChannel, query = "select * from DUAL;")
df.test
close(odbChannel)
产生以下错误
shiny@narc07shiny1dev:~/software> Rscript ./RODBC_SIMPLE_TEST.r
odbcQuery(通道、查询、rows_at_time) 中的错误:
“Calloc”无法分配内存(22816 中的 18446744073709551616
字节)
调用:sqlQuery -> odbcQuery -> .Call
执行
停止了
警告信息:
关闭未使用的 RODBC 句柄 1
在 R 之外测试 odbc 并能够得到结果。我现在不确定问题出在哪里。我认为它是 RODBC。
已经卸载了 RODBC 并重新安装了 RODBC 包,在此过程中没有出现错误,但结果仍然相同。
发现有一个案例有同样的问题,但没有任何解决方案。
隔离问题的下一步是什么,有什么建议吗?
我遇到了类似的问题,并通过将 rows_at_time = 1 添加到连接来修复。
odbChannel <- odbcConnect(dsn = "CTPRD03", uid = "BD_RPT_RO", pwd = "****", rows_at_time = 1)
我还在文档中找到了这个简介:
https://cran.r-project.org/web/packages/RODBC/RODBC.pdf https://cran.r-project.org/web/packages/RODBC/RODBC.pdf
在 RODBC 1.3-0 中被报告为 bug 的几个错误实际上是 ODBC 驱动程序
可以通过设置 rows_at_time = 1 来避免错误(以及该参数下的警告
一直都在那里)。涉及的驱动程序是第三方Oracle驱动程序和旧的SQL
服务器驱动程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)