MonetDB不接受dbWriteTable中的布尔值(csvdump=T)
在将布尔数据附加到现有表时,我得到以下结果 >dbWriteTable(conn,“myTable”,myData,overwrite=F,append=T,csvdump=T) .local(连接、语句,…)中出错: 无法执行语句“将1292条记录从”C:\Path\to\AppData\Local\Temp\Rtmp80mc5L\file3e24401f42a.cs…“复制到myTable中” 服务器说'!第1行字段20中的值“TRUE”未插入,应为“boolean”类型 我使用了连接器的一些代码来处理这个问题: >tmp write.table(myData,tmp,sep=“,”,quote=TRUE,row.names=FALSE,col.names=FALSE,na=”“) >tmp [1] “C:\Path\to\AppData\Local\Temp\Rtmp80mc5L\file3e24401f42a.csv” 将TRUE更改为1,将FALSE更改为0并运行以下SQL代码时: 将1292条记录从“C:\Path\to\AppData\Local\Temp\Rtmp80mc5L\file3e24401f42a.csv”复制到myTable中,使用分隔符“,”,“\n',”,NULL作为“已锁定”MonetDB不接受dbWriteTable中的布尔值(csvdump=T),r,monetdb,R,Monetdb,在将布尔数据附加到现有表时,我得到以下结果 >dbWriteTable(conn,“myTable”,myData,overwrite=F,append=T,csvdump=T) .local(连接、语句,…)中出错: 无法执行语句“将1292条记录从”C:\Path\to\AppData\Local\Temp\Rtmp80mc5L\file3e24401f42a.cs…“复制到myTable中” 服务器说'!第1行字段20中的值“TRUE”未插入,应为“boolean”类型 我使用了连接器的一
然后插入所有数据。似乎需要转换布尔列。同时,它是否与csvdump=F一起工作?创建表1( 信息VARCHAR(5) 安全布尔 )) 创建表2( 信息VARCHAR(5) 安全布尔 )) 在表1(信息、安全)中插入值(“假”,假) 在表1(信息、安全)中插入值(“真”,真) >图书馆(MonetDB.R) >连接myData dput(myData) 结构(list(info=c(“假”、“真”),secure=c(假、真 )),.Names=c(“信息”,“安全”),row.Names=c(NA,2L),class=“data.frame”) >dbWriteTable(conn,“table2”,myData,overwrite=F,append=T,csvdump=F) [1] 真的 >dbWriteTable(conn,“table2”,myData,overwrite=F,append=T,csvdump=T) .local(连接、语句,…)中出错: 无法执行语句“将2条记录从”C:\Path\to\AppData\Local\Temp\Rtmp80mc5L\file3e241533d14.csv“US…”复制到表2中 服务器显示“!未插入第3行字段2中的值'FALSE',应为布尔类型”
您能否提供一个带有
dput
功能的myData
的可复制示例?谢谢:)请参阅答案部分的代码。谢谢。此外,下一版本的MonetDB将解决此问题。MonetDB Jan2014-SP3刚刚发布,应该能够导入真/假值!