Sám jsem měl potíže se čtením souborů SQL a zjistil jsem, že často dochází k porušení syntaxe, pokud jsou v SQL nějaké komentáře na jednom řádku. Protože v R ukládáte příkaz sql jako jednořádkový řetězec, pokud jsou v sql nějaké dvojité pomlčky, v podstatě zakomentuje jakýkoli kód za dvojitou pomlčkou.
Toto je funkce, kterou obvykle používám vždy, když čtu soubor .sql pro použití v 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)
}