Невозможно запустить SQL запрос к оракулу таблицы в R

Я могу выполнить этот запрос в sqlplus для таблицы оракула, он работает, я получаю результаты обратно:

SELECT * FROM KEYNOTE_PRD WHERE KEYNOTE_PRD."Site"='High Frequency NY Traffic'

но я пытаюсь сделать то же самое с помощью следующего кода в R:

tryCatch({
  ch=odbcConnect("<id>",pwd = "<passwd>")
  sql<-c("SELECT * FROM KEYNOTE_PRD WHERE KEYNOTE_PRD."Site"='High Frequency NY Traffic'")
  res<-sqlQuery(ch, sql)

},error = function(e) {
  print(odbcGetErrMsg(ch))

  print("retrive or connect to the db")
})
odbcClose(ch)

Это не работает. Я думаю, что ему не нравятся двойные кавычки в двойных кавычках (KEYNOTE_PRD."Сайт"). Любые идеи, как бы я обойти это?

2 ответа

Решение

Это поможет тому, кто не знаком с Oracle. Ответ был очень прост. Я изменил имена столбцов на заглавные буквы, и эта проблема решена. Это должно быть вещью оракула.

tryCatch({
  ch=odbcConnect("<id>",pwd = "<passwd>")
  sql<-c("SELECT * FROM KEYNOTE_PRD WHERE KEYNOTE_PRD.SITE='High Frequency NY Traffic'")
  res<-sqlQuery(ch, sql)

},error = function(e) {
  print(odbcGetErrMsg(ch))

  print("retrive or connect to the db")
})
odbcClose(ch)

Я просто столкнулся с тем же типом проблемы, где имена столбцов были ниже, и я не мог контролировать таблицы. Решением было избежать кавычек с одним символом \. Оно работало завораживающе.

Другие вопросы по тегам