我在R中使用RODBC
包来从SQL Server数据库导入/导出数据帧。虽然导入没有问题。我不知道如何将数据框的内容导出到现有的SQL表中。
我正在尝试使用包中提供的sqlQuery()
函数,但我不确定如何在表中插入多个记录。
有关如何插入行的示例将很有帮助 我确保我的表和数据框的列是相同的。
答案 0 :(得分:3)
将sqlSave
与附加属性一起使用。请参阅下面的代码:
sqlSave(uploaddbconnection, outputframe, tablename =
"your_TableName",rownames=FALSE, append = TRUE)
答案 1 :(得分:2)
这是我使用sqlSave()
的代码。我正在使用SQL Server 2008. Conn
是我使用odbcConnect()
:
#creating data to be saved in SQL Table
data_to_save<-cbind(scenario_1,scenario_2,scenario_3,scenario_4,store_num,future_date,Province,index)
#use sqlSave() rather than sqlQuery() for saving data into SQL Server
sqlSave(conn,data.frame(data_to_save),"CC_Forecast",safer=FALSE,append=TRUE)
答案 2 :(得分:1)
dbWriteTable(conn, "RESULTS", results2000, append = T)
使用DBI包
答案 3 :(得分:0)
我想补充一下严的回答。
在使用sqlSave()函数之前,请确保将默认数据库更改为表所在的正确数据库。特别是如果你想写一个现有的表!
See here:了解如何设置ODBC连接以及如何更改默认数据库。
之后,您可以使用它们将数据转储到sql:
specificDB= odbcConnect(dsn ='name you set up in ODBC',uid = '***', pwd = '****')
sqlSave(specificDB, output_to_sql, tablename = 'a_table_in_specificDB', rownames = F,append = T)
close(specificDB)
很慢。耐心点。