dbSendQuery
hoặc dbGetQuery
chỉ dành cho phần "SQL", không phải các lệnh psql như \i
.
Trong trường hợp của bạn, cách đơn giản nhất là sử dụng readLines
nhưng sau đó bọc dbGetQuery
trong một sapply
cuộc gọi.
con <- dbConnect(...) #Fill this as usual
queries <- readLines("query.sql")
sapply(queries, function(x) dbGetQuery(con,x))
dbDisconnect(con)
Vì tôi sử dụng cái này rất thường xuyên, tôi có một phím tắt cho cái này trong .Rprofile
của mình tệp:
dbGetQueries<-function(con,queries)sapply(queries,function(x)dbGetQuery(con,x))
Tất nhiên, bạn cũng có thể truy cập hệ thống system
cách:
system("psql -U username -d database -h 127.0.0.1 -p 5432 -f query.sql") #Remember to use your actual username, database, host and port