[英]Exporting table from R to SQL Server
我成功地从https://www.gov.mb.ca/sd/fire/Fire-Situation/daily-firesituation.html收集了数据到R。我现在想将其导出到SQL。
library('rvest')
url_Manitoba <- 'https://www.gov.mb.ca/sd/fire/Fire-Situation/daily-
firesituation.html'
webpage_Manitoba <- read_html(url_Manitoba)
population <- webpage_Manitoba %>%
html_nodes("table") %>%
html_table(fill=TRUE)
population[[2]]
通过在本地将数据写入CSV,然后使用BULK INSERT(类似于sqlSave的预构建函数不易使用),可以将数据非常快速地写入MS SQL Server。
toSQL = data.frame(...);
write.table(toSQL,"C:\\export\\filename.txt",quote=FALSE,sep=",",row.names=FALSE,col.names=FALSE,append=FALSE);
sqlQuery(channel,"BULK
INSERT Yada.dbo.yada
FROM '\\\\<server-that-SQL-server-can-see>\\export\\filename.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\\n'
)");
要么 。 。 。
由于插入INTO限制为1000行,因此可以从rsqlserver软件包中获取dbBulkCopy。
dbBulkCopy是一个DBI扩展,它与名为bcp的Microsoft SQL Server流行的命令行实用程序进行接口,以快速将大型文件批量复制到表中。 例如:
url = "Server=localhost;Database=TEST_RSQLSERVER;Trusted_Connection=True;"
conn <- dbConnect('SqlServer',url=url)
## I assume the table already exist
dbBulkCopy(conn,name='T_BULKCOPY',value=df,overwrite=TRUE)
dbDisconnect(conn)
library("odbc")
library("DBI")
# Connect to SQL Server
con = dbConnect(odbc(),.connection_string = "Driver={SQL Server};Server=ipaddress;Uid=user;Pwd=password;")
# Write the table,is it doesn't exist it will be created
dbWriteTable(con, sql_table_name, polulation, append = TRUE, row.names = F)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.