在我设置 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 创建表时,可以设置全局上限还是可以交互设置上限?