OracleデータベースにCLOB値として格納されているデータを読み込もうとしています。コンテンツは、CRMアプリケーションを介して送信する電子メールをレンダリングするHTMLです。メールの画像を再作成して、crmのパフォーマンスに関するレポートに含めたいと思います。
次のクエリを使用してデータを正常に読み取ることができSPSS
ます。このクエリは、CLOBを長さの文字列(32750)に変換します。
GET DATA
/TYPE=ODBC
/CONNECT='DSN=<MYDSN>;UID=<USER>;PWD=mypassword;Host=myhost;Port=myport;SID='+
'SID'
/SQL='SELECT * FROM mytable'
/ASSUMEDSTRWIDTH=32750.
CACHE.
EXECUTE.
DATASET NAME clob_query WINDOW=FRONT.
私が探しているのは、同様のクエリを実行することですが、データをRに読み込みます。次のクエリを試行したところ、以下のエラーが発生しました。
> SQL <-"SELECT to_char(CONTENT) as content from REL_EMAIL_TEMPLATE"
> ds <- sqlQuery(ch, SQL, as.is=T, stringsAsFactors=F)
> ds
[1] "HY000 22835 [Oracle][ODBC][Ora]ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: 5923, maximum: 4000)\n"
[2] "[RODBC] ERROR: Could not SQLExecDirect 'SELECT to_char(CONTENT) as content from REL_EMAIL_TEMPLATE'"
「バッファ」を大きくする方法はわかりませんが、SPSSでこれを実行するため、Rでもこれを実行できる必要があると考えています。
よろしくお願いします。