Ошибка при попытке подключить R к PostgreSQL с помощью RODBC
-
24-10-2019 - |
Вопрос
Я пытаюсь подключиться к R, используя RODBC. Однако, когда я бегу
ch <- odbcConnect("rails_dev", uid="skline", pwd="d0gsleep")
Я получаю эту ошибку:
In odbcDriverConnect("DSN=rails_dev;UID=skline;PWD=d0gsleep") :
[RODBC] ERROR: state IM002, code 0, message [iODBC][Driver Manager]Data source name not found and no default driver specified. Driver could not be loaded
Какие-нибудь мысли? Я новичок в этом и не потерпел убытки за то, что делать дальше ... Большое спасибо заранее!
Примечание я использую Mac OSX
Решение
РЕДАКТИРОВАТЬ: Ответ ниже устарел, так как некоторые из упомянутых пакетов больше не доступны на CRAN. Я оставляю это здесь для справки.
Более позднюю информацию можно найти в следующем вопросе:
Как подключить R с PostgreSQL на OSX 10.10.2?
Для подключения к PostgreSQL на Mac вы можете использовать пакет RpgSQL
. Анкет Обязательно прочитайте Установка заметок, поскольку ваша установка PostgreSQL должна быть настроена для использования JDBC. Это, безусловно, самый простой путь. Если вы установите PostgreSQL, вы запускаете строитель стека в конце процесса установки, чтобы сделать это (см. инструкция по установке) В качестве альтернативы, вы можете использовать строитель стека (включенный в установку PostgreSQL) после установки, чтобы добавить дополнительные компоненты. В рамках драйверов базы данных вы должны найти PostgreSQL JDBC.
А rdbi
Пакет, упомянутый в комментариях, удален из Cran, а AFAIK больше не поддерживается.
Если вам действительно нужно использовать ODBC, вам нужен драйвер для PostgreSQL, и он должен быть известен реализации ODBC на вашем компьютере. Водитель Джим М. дал вам один вариант, другой - драйверы OpenLinksw или «официальный» один на pgfoundry. Анкет Обычно вы должны быть в состоянии скачать драйвер ODBC из Stack Builder, как вы делаете для драйвера JDBC: под драйверами базы данных заголовок у вас также есть PostgreSQL ODBC.
Для новейших версий OSX вам нужно, по -видимому, установить свой собственный менеджер ODBC. Рядом с тем, что упомянут в комментариях, у вас есть тот, который также есть от Apple здесь. Анкет В этом менеджере вы можете указать местоположение драйвера и т. Д. И настроить соединение с PostgreSQL через ODBC. Как это сделать, зависит от менеджера, который вы используете, и объясняется в файлах справки. Всегда интересно прочитать соответствующий раздел в FAQ IODBC и разделы на ODBC на Mac.
На сеноте: в R вы можете проверить, какие DSN можно найти, используя команду odbcDataSources()
пакета RODBC. Если PostgreSQL не упоминается там, вы знаете, что сначала должны посмотреть на свою установку.
Другие советы
В зависимости от базы данных, к которой вы хотите подключиться, Фактические технологии Имеет драйверы для Mac OSX для баз данных с открытым исходным кодом (MySQL, PostgreSQL), Oracle, а также Microsoft Access и т. Д., И стоит около 35 долларов. Настройка в администраторе ODBC проста, хотите ли вы создать соединение для всех пользователей на машине (System DSN) или для конкретного пользователя, поскольку есть мастер, который будет проходить основные шаги.