Ошибка при попытке подключить R к PostgreSQL с помощью RODBC - PullRequest
5 голосов
/ 27 апреля 2011

Я пытаюсь подключиться к 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

Ответы [ 2 ]

2 голосов
/ 03 мая 2011

РЕДАКТИРОВАТЬ: Ответ ниже является устаревшим, так как некоторые из упомянутых пакетов больше не доступны в CRAN.Я оставляю это здесь для справки.

Более свежая информация может быть найдена в следующем вопросе:

Как связать R с PostgreSQL на OSX 10.10.2?


Для подключения к PostgreSQL на Mac вы можете использовать пакет RpgSQL.Обязательно прочитайте примечания по установке , так как ваша установка PostgreSQL должна быть настроена для использования JDBC.Это, безусловно, самый простой способ.Если вы устанавливаете PostgreSQL, вы запускаете Stack Builder в конце процесса установки (см. руководство по установке ).Кроме того, вы можете использовать Stack Builder (включенный в установку postgreSQL) после установки, чтобы добавить дополнительные компоненты.В разделе Драйверы базы данных вы найдете postgresql JDBC.

Пакет rdbi, упомянутый в комментариях, удален из CRAN и afaik больше не поддерживается.

Если вам действительно нужно использовать ODBC,вам нужен драйвер для PostgreSQL, и он должен быть известен реализации ODBC на вашем компьютере.Драйвер, предоставленный Джимом М., - это один из вариантов, другой - драйверы Openlinksw или «официальный» для pgFoundry .Обычно вы должны иметь возможность загружать драйвер ODBC из Stack Builder, как вы это делаете для драйвера JDBC: под заголовком драйверов базы данных у вас также есть ODBC Postgresql.

Для новейших версий OSX вам потребуетсяустановить свой собственный менеджер ODBC, по-видимому.Рядом с Eelke, упомянутым в комментариях, у вас есть еще один от Apple здесь .В этом менеджере вы можете указать расположение драйвера и т. Д., А также настроить соединение с PostgreSQL через ODBC.Как это сделать, зависит от используемого вами менеджера и объясняется в файлах справки.Всегда интересно прочитать соответствующий раздел в FAQ iODBC и разделах ODBC для Mac .

О sidenote: В R вы можете проверить, какие DSN можно найти, используя команду odbcDataSources() пакета RODBC.Если Postgresql там не упоминается, вы знаете, что сначала нужно посмотреть на настройки.

0 голосов
/ 28 апреля 2011

В зависимости от базы данных, к которой вы хотите подключиться, Actual Technologies имеет драйверы для Mac OSX для баз данных с открытым исходным кодом (MySQL, PostgreSQL), Oracle, а также Microsoft Access и т. Д., И стоит около 35 долларов США.,Настройка в администраторе ODBC проста, хотите ли вы создать соединение для всех пользователей на машине (системный DSN) или для уровня пользователя, поскольку есть мастер, который будет выполнять основные действия.

...