RODBC и доступ — загрузка данных

Я пытаюсь загрузить некоторые данные в R из базы данных Access. Все инструкции, которые я могу найти, говорят об использовании odbcConnectAccess("file.mdb"), но я не могу загрузить эту функцию. Его заменили или переименовали? Есть ли другой способ сделать это? Я загрузил RODBC с библиотекой («RODBC»), но мне все равно не повезло.

Спасибо!


person Jeff Erickson    schedule 28.03.2011    source источник
comment
На какой платформе вы находитесь? Я думаю, что RODBC нужны какие-то драйверы для подключения к базам данных Access. Они могут быть доступны или недоступны вне Windows.   -  person Vincent    schedule 28.03.2011


Ответы (2)


Если вы используете Mac, я успешно использовал драйверы Actual Technologies для подключения к базам данных Access. Если вы уже настроили соединение ODBC, используя ODBC Source Administrator в Windows или ODBC Administrator в Mac, все остальное довольно просто.

library(RODBC)
# Open up channel to database supplying name of ODBC connection and user name

data.ch<-odbcConnect("ODBC_Connection_name",uid="user_name") 

Существует также возможность указать пароль в odbcConnect, но я настроил соединение с включенным паролем.

sqlTables(data.ch) # Query the connection for all tables

# Fetch all data from a table called "Table_name" or use standard SQL statements
 df<-sqlFetch(data.ch,"Table_name") 
person Community    schedule 28.03.2011

Вот как выглядит моя сессия. Ваш похож?

library(RODBC)
setwd("C:/Users/Farrel/Documents/Working")
channel<-odbcConnectAccess("RRPre.mdb")
uniquehuman<-sqlFetch(channel, "AgeGenderofUniqueHumans")

Он отлично работает в моей системе. Window 7, Microsoft Access около 2007 года. Я не знаю, насколько вы хорошо разбираетесь в базах данных Access. Я использовал его в течение нескольких лет и обнаружил, что пока я был единственным пользователем, он работал нормально. В ту минуту, когда я попытался скопировать базу данных, поделиться ею или попросить коллегу добавить в нее данные, она перестала работать. Я сделал все, что мог, чтобы больше с ним не работать. Если у вас есть сценарий постоянного использования, я думаю, вам нужно заставить работать odbcConnectAccess. Однако, если это единичный случай, просто экспортируйте данные из Access в более традиционный формат данных, например в таблицу csv.

person Farrel    schedule 28.03.2011
comment
@Farrell Спасибо за ваш ответ. Здесь была большая проблема, заключающаяся в том, что я использую Mac и не использую разъем ODBC. - person Jeff Erickson; 28.03.2011