Jeg har selv haft problemer med at læse sql-filer, og har fundet ud af, at syntaksen ofte bliver brudt, hvis der er kommentarer på en enkelt linje i sql. Da du i R gemmer sql-sætningen som en enkelt linjestreng, vil hvis der er nogen dobbeltstreg i sql'en, i det væsentlige kommentere enhver kode efter den dobbelte bindestreg.
Dette er en funktion, som jeg typisk bruger, når jeg læser i en .sql-fil, der skal bruges i R.
getSQL <- function(filepath){
con = file(filepath, "r")
sql.string <- ""
while (TRUE){
line <- readLines(con, n = 1)
if ( length(line) == 0 ){
break
}
line <- gsub("\\t", " ", line)
if(grepl("--",line) == TRUE){
line <- paste(sub("--","/*",line),"*/")
}
sql.string <- paste(sql.string, line)
}
close(con)
return(sql.string)
}