使用dbAppendTable在sql表中插入行

时间:2019-04-18 19:21:46

标签: r dplyr dbi

我正在尝试将数据从r插入SQL Server表。我必须读取成百上千个csv格式的文件,我一次读取一个,然后处理它们,然后将它们写入sql(一个表,这就是为什么我必须插入行的原因)

我正在使用DBI和odbc软件包。我正在使用dbCreateTable创建空表,并使用dbAppendTable插入数据。

空表中的列数与我要插入的数据相同

library(DBI)
library(odbc)

con <- dbConnect(odbc(), Driver = "SQL Server", Server = "myserver", 
                 Database = "mydb", trustedconnection = TRUE)

t <- read_csv("myfile.csv") %>% select(1,4:7,9:20 )
dbRemoveTable(con, "NEW_SQL_TABLE")
dbCreateTable(conn = con, "NEW_SQL_TABLE", t)
dbAppendTable(conn = con, "NEW_SQL_TABLE", t)

t2 <- dbReadTable(con,"NEW_SQL_TABLE")

我希望t2包含与t相同的记录,但是t2具有0

当我运行dbAppendTable时,控制台中的0值我不确定。

> dbAppendTable(conn = con, "NEW_SQL_TABLE", t)
[1] 0

1 个答案:

答案 0 :(得分:0)

使用dbWriteTable()代替dbCreateTable()和dbAppendTable()。