У меня есть таблица в SQL, которую я тестирую dplyr
. У меня есть два входа: диапазон дат и текстовое поле, которое является компанией
Я запускаю следующий код R ниже
# Filter on the Customer and the date range the user selects
mydf <- db %>%
tbl(table) %>%
filter(TableDate >= start_date & TableDate <= end_date) %>%
filter(grepl('company', company_name)) %>%
collect()
Таким образом, теоретически это должно выбирать информацию из одной таблицы между start_date
и end_date
для компании company
как нечеткое совпадение, так как названия компаний содержат такие вещи, как X отраслей и Y зарегистрированных
Я получаю сообщение об ошибке следующего вида
Ошибка в .local(conn, statement,...): не удалось запустить оператор: выполнение команды запрещено пользователю 'shiny'@'%' для подпрограммы 'mydb.GREPL'
когда я смотрю на sql
myDF <- tbl(db,table)
myDF1 <- filter(myDF, TableDate >= start_date & TableDate <= end_date)
myDF2 <- filter(myDF1, grepl('company', company_name))
explain(myDF2)
я получаю вывод
<SQL>
SELECT *
FROM (SELECT *
FROM `table`
WHERE (`TableDate ` >= '2015-01-01' AND `TableDate ` <= '2015-06-01')) `lpknlorhcn`
WHERE (GREPL('company', `company_name`))
Ошибка в .local(conn, statement,...): не удалось запустить оператор: выполнение команды запрещено пользователю 'shiny'@'%' для подпрограммы 'mydb.GREPL'
Я изменил код и немного вывел из соображений конфиденциальности.
Вопросы
Кто-нибудь знает, как правильно это настроить (я знаю, что это права доступа на стороне mysql, но я не уверен, где, поскольку у блестящего пользователя есть доступ к выполнению
Почему SQL в плане объяснения выглядит так смешно (например, в нем два предложения where) и что такое
lpknlorhcn
Большое спасибо за вашу помощь