MonetDB をセットアップし、大きな data.frame をデフォルト データベース (デモ) に新しいテーブルとして書き込もうとすると、エラーが発生します。
>dbWriteTable(conn, "table1", df)
Error in .local(conn, statement, ...) :
Unable to execute statement 'INSERT INTO table1 VALUES([...])
data.frame には次元があります。
>dim(df)
[1] 148767 618
すべての列が文字としてフォーマットされています。
>all(lapply(df,class)=='character')
[1] TRUE
エラーは、文字列値が長すぎることが原因のようです (@Hannes Mühleisen に感謝):
>dbGetException(conn)
$errNum
[1] 22001
$errMsg
[1] "value too long for type (var)char(255)"
MonetDB は新しい (VAR)CHAR 変数の上限をどのように設定しますか (ドキュメントに上限に関する情報はありませんでした)。MonetDB.R を介して R からテーブルを作成するときに、グローバルな上限を設定できますか、または上限を対話的に設定できますか?