3
您好我正在使用R来将数据框保存到DB2 SQL表中。我似乎能够创建表的骨架,而不是将数据追加到表 -在R的sqlSave创建并保存一个数据框到一个sql表
>df <- read.csv("dat.csv")
其中dat.csv是一个没有头一个csv,只是原始数据,两列
然后我创建该表:
>sqlQuery(channel, "create table sqltable
(
col1 int,
col2 float
)"
(
,我确认表由能够选择数据库
在空表“SQLTABLE”创建所以现在我需要从“DAT添加数据。 CSV”到‘SQLTABLE’做:
>sqlSave(channel, df, "sqltable", verbose=T, fast=T, append=T)
no: 1 rownames 1/***/no: 2 col1 31105/***/no: 3 col2 0.001/***/
no: 2 rownames 1/***/no: 2 col1 31106/***/no: 3 col2 0.023/***/
no: 3 rownames 1/***/no: 2 col1 31107/***/no: 3 col2 1.456/***/
no: 4 rownames 1/***/no: 2 col1 31108/***/no: 3 col2 0.001/***/
no: 5 rownames 1/***/no: 2 col1 31109/***/no: 3 col2 2.102/***/
一切似乎都很好,直到我做的:
>sqlQuery(channel,"select * from sqltable")
[1] COL1 COL2
<0 rows> or 0-length row.names
的sqlSave命令清楚地拿起从dat.csv数据,所以为什么不加入桌子?我究竟做错了什么?
我对“R”一无所知,但是您是否需要'COMMIT'插入,否则它会自动回滚? – bhamby
您使用的是什么类型的连接,以及您的DB2服务器运行在哪种操作系统上? – WarrenT