我得到的錯誤後,我成立了MonetDB,並嘗試寫一個大data.frame作爲缺省數據庫中的新表(演示):從MonetDB.R包的dbWriteTable的`.local(conn,statement,...)'錯誤是什麼原因?
>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
的錯誤似乎從一個字符串值過長(感謝@HannesMühleisen)幹:
>dbGetException(conn)
$errNum
[1] 22001
$errMsg
[1] "value too long for type (var)char(255)"
MonetDB如何設置新(VAR)CHAR變量的上限(我沒有在文檔的上限中找到任何信息)?通過MonetDB.R從R創建表時,可以設置全局上限還是可以交互設置上限?
嗨,'MonetDBLite'(在CRAN上)現在取代了'MonetDB.R'並運行嵌入式(如'RSQLite')。有關更多詳細信息,請參閱https://github.com/hannesmuehleisen/MonetDBLite/blob/master/README.md –