我有一台SAP HANA服务器和一台运行R 2.15和R studio服务器的SLES 11服务器。
我可以使用没有问题的isql从de SLES服务器通过ODBC与HANA服务器进行通信。
我使用RODBC和连接字符串从R连接:
library(RODBC)
ch <- odbcDriverConnect("DSN=hana;SERVERNODE=HDB.IP.ADD.RES:30015;UID=MYUSER;PWD=****")
到目前为止这么好但是在尝试运行sqlQuery时出现以下错误:
a <- sqlQuery(ch,"SELECT TOP 100 *, F FROM \"SOME_HANA_TABLE\"")
Error in odbcQuery(channel, query, rows_at_time) :
Calloc could not allocate memory (18446744073709551616 of 22816 bytes)
乍一看,我认为查询表很大,但事实并非如此,因为我只询问前100行。我在互联网上搜索过,只在R邮件列表中找到了这个link,建议重新安装RODBC。我会尝试一下,但我对它的工作不太自信......
有没有人遇到过这个错误?你能够克服它吗?
注意:我已经能够使用上面提到的代码从我的本地Windows机器连接到HANA服务器。所以我认为这个错误与RODBC如何与SLES hana驱动程序打交道...或者类似的东西。
编辑:尝试重新安装RODBC,无效,错误仍然存在。