Я пытаюсь создать символьную строку в R, которую затем могу использовать для вызова хранимой процедуры SQL, используя dbGetQuery
serial_no <- c('AB-9','CD-18')
Section01 <- dbGetQuery(
con,
"select * from db.table where serial_number in serial_no and status='Y'"
)
Я попробовал следующий код
library(RJDBC)
library(dplyr)
drv <- JDBC("...")
con <- dbConnect(drv,...)
Section01 <- dbGetQuery(
con,
paste0(
"select * from db.table where serial_number IN (",
paste(sQuote(serial_no), collapse = ", "), ") ",
sep = ""
)
Но я получаю следующую ошибку:
Ошибка в .verify.JDB C .result (r, "Невозможно получить набор результатов JDB C для",: Невозможно получить набор результатов JDB C для select * из bt_eln.sample, где batch_number IN ('AB-9', 'CD-18') (Remote org.teiid.api.exception.query.QueryParserException: TEIID31100 Ошибка анализа: обнаружена " \ u2018gh-9 [] \ u2019 [], \ u2018GMP0133 "в строке 1, столбец 57. Ожидалось:", "|") "|" * "|" / "|" + "| "-" | "||")
Код должен иметь возможность правильно фильтровать переменную serial_no
.