RODBC и доступ - загрузка данных - PullRequest
3 голосов
/ 28 марта 2011

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

Ответы [ 2 ]

3 голосов
/ 28 марта 2011

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

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

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

2 голосов
/ 28 марта 2011

Если вы используете на 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") 
...