В R ссылка на файл. sql в запросе на соединение с БД - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь более легко интегрировать использование R и SQL. Хорошей новостью является то, что у меня хорошо работает соединение от R до db2, и я использую для этого пакет RJDB C.

Я также использовал функцию dbGetQuery (), которая включает sql запрос. Для очень простых запросов это все хорошо.

cr_tb1 <- dbGetQuery(conn, "SELECT * FROM LWFILES001.EVETRNPF LIMIT 100")

Однако я хочу сохранить сложные sql запросы из кода R и сохранить их как отдельный. sql, на который может ссылаться функция .

Я загрузил библиотеку squr https://github.com/smbache/squr для облегчения этой ссылки. Итак, я пробовал что-то вроде этого, но получаю ошибку.

library(RJDBC)
library(squr)

drv <- JDBC("com.ibm.as400.access.AS400JDBCDriver",
            "C:/temp/jt400.jar",
            identifier.quote="`")
conn <- dbConnect(drv, "jdbc:as400://lwsi.XXXX.local/XXXXXX", "username", "password")

case_rate_query <- sq_file("SQL//test.sql")

cr_tb1 <- dbGetQuery(conn, case_rate_query)

Вот ошибка:

Ошибка в (функция (классы, fdef, mtable): Не удалось найти унаследованный метод для функции 'dbGetQuery' для подписи '"JDBCConnection", "sq"'

Спасибо за помощь.

1 Ответ

0 голосов
/ 25 февраля 2020

Благодаря комментариям Джованни и Парфе я нашел решение.

cr_tb1 <- dbGetQuery(conn, statement = read_file('SQL//test.sql'))
...