Ошибка SQLDF при запросе PostgreSQL из R

Версия PostgreSQL: 11

Версия R: 3.5.2

ОС: Windows 10

Драйвер: PostgreSQL ANSI (x64)

library(RODBC)
library(sqldf)
conn = odbcConnect("DVDRental") #works
odbcDataSources() #works
sqlTables(conn) #works
customers = sqldf(connection = conn, "select * FROM customer") #fails

Сообщение об ошибке: Ошибка в (функции (классы, fdef, mtable): невозможно найти унаследованный метод для функции «dbGetQuery» для сигнатуры «character», «character» ’

Есть ли новый способ подключить R к Postgres? Поиск в Google обнаруживает мешанину кода, ни один из которых, похоже, не работает.

Если вы хотите попробовать и запустить это, вы можете скачать образец базы данных, который я использую здесь: http://www.postgresqltutorial.com/postgresql-sample-database/

Я использую DSN под названием DVDRental.

Вместо того, чтобы искать в сети, предложите вам прочитать документацию. В документации нет ничего, что предполагало бы, что то, что вы сделали, сработает.

G. Grothendieck 16.01.2019 14:01

Документация для чего? Для R, для RODBC? Для sqldf? Этот код отлично работал в 2015 году. Я понятия не имею, что изменилось, но что-то изменилось.

Bob Wakefield 17.01.2019 01:55

Я имел в виду sqldf, поскольку это то, что вы используете для выполнения запроса sql.

G. Grothendieck 17.01.2019 14:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
161
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте библиотеку RPostgreSQL для получения соединения, используя следующие параметры:

library(RPostgreSQL)

options(sqldf.RPostgreSQL.user  = "postgres", 
    sqldf.RPostgreSQL.password  = "password",
    sqldf.RPostgreSQL.dbname  = "test",
    sqldf.RPostgreSQL.host  = "localhost", 
    sqldf.RPostgreSQL.port =5432)

customers = sqldf("SELECT * FROM customer")

Это тоже не срабатывает с той же ошибкой. Пробовал с и без. Версия, которую я опубликовал, была именно тем, что лежало там после нескольких часов попыток понять, что должно быть самой простой задачей.

Bob Wakefield 16.01.2019 06:09

Вопрос обновлен, объект подключения не заключен в кавычки.

Bob Wakefield 16.01.2019 06:10

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