SAP HANA サーバーと、R 2.15 および R スタジオ サーバーを実行する SLES 11 サーバーがあります。
問題なく isql を使用して、ODBC 経由で SLES サーバーから 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 行のみを要求しているため、そうではありません。インターネットを検索したところ、RODBC の再インストールを提案する R メーリング リストでこのリンクしか見つかりませんでした。やってみますが、うまくいく自信がありません...
誰かがこのエラーに遭遇しましたか? 克服できましたか?
注: 上記のコードを使用して、ローカル Windows マシンから HANA サーバーに接続できました。したがって、エラーはRODBCがSLES hanaドライバーとどのように相互作用するかに関係していると思います...またはそのようなものです。
編集: RODBC を再インストールしようとしましたが、機能しませんでした。エラーが持続します。