【发布时间】:2014-02-21 12:29:47
【问题描述】:
您好,我正在使用 R 将数据框保存到 DB2 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中取出数据的,为什么没有加到表中呢?我做错了什么?
【问题讨论】:
-
我对@987654325@一无所知,但是您的插入是否必须
COMMIT,否则它会自动回滚? -
您使用什么类型的连接,您的 DB2 服务器在什么类型的操作系统上运行?