簡體   English   中英

MonetDB不接受來自dbWriteTable的BOOLEAN(csvdump = T)

[英]MonetDB does not accept BOOLEANs from dbWriteTable (csvdump = T)

將布爾數據附加到現有表時,得到以下信息。

> dbWriteTable(conn,“ myTable”,myData,覆蓋= F,附加= T,csvdump = T)

.local(conn,statement,...)中的錯誤:無法從“ C:\\ Path \\ to \\ AppData \\ Local \\ Temp \\ Rtmp80mc5L \\ file3e24401f42a.cs ...”執行語句“將1292記錄記錄到myTable中”。

服務器在未插入第1行第20行的字段中說'!value'TRUE',期望類型為boolean'。

我已經處理了與此連接器有關的一些代碼:

> tmp <-tempfile(fileext =“ .csv”)

> 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代碼時:

COPY 1292將記錄從'C:\\ Path \\ to \\ AppData \\ Local \\ Temp \\ Rtmp80mc5L \\ file3e24401f42a.csv'使用DELIMITER',','\\ n','“'NULL AS''LOCKED;

然后插入所有數據。

似乎需要轉換布爾列。 同時,它是否可以與csvdump = F一起使用?

創建表TABLE1(

INFO VARCHAR(5),

安全布爾

);

創建表TABLE2(

INFO VARCHAR(5),

安全布爾

);

插入到TABLE1(INFO,SECURE)值('FALSE',FALSE)中;

插入TABLE1(INFO,SECURE)值('TRUE',TRUE);

>庫(MonetDB.R)

> conn <-dbConnect(MonetDB.R(),“ monetdb:// localhost / demo”)

> myData <-dbGetQuery(conn,“從表1選擇*”)

> dput(myData)

結構(list(info = c(“ FALSE”,“ TRUE”),secure = c(FALSE,TRUE)),.Names = c(“ info”,“ secure”),row.names = c(NA,2L ),類=“ data.frame”)

> dbWriteTable(conn,“ table2”,myData,覆蓋= F,附加= T,csvdump = F)

[1]是

> dbWriteTable(conn,“ table2”,myData,覆蓋= F,附加= T,csvdump = T)

.local(conn,statement,...)中的錯誤:無法從'C:\\ Path \\ to \\ AppData \\ Local \\ Temp \\ Rtmp80mc5L \\ file3e241533d14.csv'US ...'執行語句'COPY 2 RECORDS INTO table2 。

服務器說未插入第3行第2行的'!value'FALSE',期望類型為boolean'。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM