Я пытаюсь передать файл .sql
в DBI::dbGetQuery
, но у меня возникают проблемы при появлении комментария в первой строке. Например:
run_fine. sql
SELECT * FROM mytable
does_not_work. sql
-- Some comment
SELECT * FROM mytable
Тогда в R:
library(odbc)
library(tidyverse)
con <- dbConnect(odbc(), "my_connection")
dbGetQuery(con, read_file("sql/runs_fine.sql")) # success
dbGetQuery(con, read_file("sql/does_not_work.sql")) # fails
Мотивация: Я хотел бы использовать удобную функцию sql предварительного просмотра из RStudio
, но для этого требуется, чтобы первая строка была следующей для любого .sql
file:
-- !preview conn=con
... что приводит к сбою dbGetQuery
. Я полагаю, что обходной путь - использовать какую-то функцию read.file, которая может пропускать строки или избегать строк комментариев.
ПРИМЕЧАНИЕ. Если строка комментария находится в середине файла .sql
, dbGetQuery
завершается успешно, как и ожидалось, и избегает соответствующих строк с комментариями.
СУБД CHD Impala, керберизованная. Возвращаемое значение от read_file()
начинается с:
"-- !preview conn=con\r\n\r\nSELECT \r\n ..."