Отношение ошибки RPostgreSQL "имя таблицы" не существует - PullRequest
2 голосов
/ 28 декабря 2011

Я новичок, пытающийся понять, как R и PostgreSQL могут общаться друг с другом. В последнее время я использовал R только для анализа данных, но сейчас я пытаюсь импортировать напрямую из базы данных. Я установил RPostgreSQL и подключился к своей базе данных, я вижу все таблицы, но не могу их редактировать. Я хотел бы получить некоторые данные из них, но когда я запускаю

следующий код:

>query<-"SELECT * FROM Events"
> rs <- dbSendQuery(con,query)
Error in postgresqlExecStatement(conn, statement, ...) : 
  RS-DBI driver: (could not Retrieve the result : ERROR:  relation "events" does not exist
LINE 1: SELECT * FROM Events

Мои другие имена таблиц тоже не велики. «Alarm_Reports», «Configuration», «Event_Details», «Events»

Есть ли что-то базовое в адресации таблиц, которые мне не хватает?

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

1 Ответ

6 голосов
/ 28 декабря 2011

Как я уже упоминал в своем комментарии, цитаты могут быть необходимы.Вот фактический код из одного из наших файлов модульных тестов:

res <- dbGetQuery(con, "create table Foo1 (f1 int)")
res <- dbGetQuery(con, "create table \"Foo2\" (f1 int)")

cat("Test should create foo1 and Foo2 tables\n")
## res <- dbGetQuery(con, paste("SELECT * FROM information_schema.tables",
##                              "WHERE table_schema = 'public'")
## print res

if (dbExistsTable(con, "Foo1")) {
    cat("FAIL - Foo1 Table exists.\n")
}
else {
    cat("Pass - Foo1 Table does not exist.\n")
}

if (dbExistsTable(con, "foo1")) {
    cat("Pass - foo1 Table exists.\n")
}
else {
    cat("FAIL - foo1 Table does not exist.\n")
}

if (dbExistsTable(con, "Foo2")) {
    cat("Pass - Foo2 Table exists.\n")
}
else {
    cat("FAIL - Foo2 Table does not exist.\n")
}

if (dbExistsTable(con, "foo2")) {
    cat("FAIL - foo2 Table exists.\n")
}
else {
    cat("Pass - foo2 Table does not exist.\n")
}

if (dbExistsTable(con, "\"Foo2\"")) {
    cat("FAIL - \"Foo2\" Table exists.\n")
}
else {
    cat("Pass - \"Foo2\" Table does not exist.\n")
}

if (dbExistsTable(con, "\"foo2\"")) {
    cat("FAIL - \"foo2\" Table exists.\n")
}
else {
    cat("Pass - \"foo2\" Table does not exist.\n")
}

res <- dbGetQuery(con, "drop table Foo1")
res <- dbGetQuery(con, "drop table \"Foo2\"")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...