【问题标题】:Insert rows in the sql table using dbAppendTable使用 dbAppendTable 在 sql 表中插入行
【发布时间】:2019-09-09 04:10:29
【问题描述】:

我正在尝试将数据从 r 插入 SQL Server 表。我必须读取数百个 csv 格式的文件,我一次在 r 中读取它们,处理它们然后将它们写入 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

【问题讨论】:

  • 我最终使用了 dbWriteTable,显然 dbAppendTable 不起作用。如果有答案,仍然在这里留下问题

标签: r dplyr dbi


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 2012-12-28
    相关资源
    最近更新 更多