создать символьную строку в R, которая хранит апострофы определенным образом c - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь создать символьную строку в 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.

...