with visual usable una studio read para only odbcconnectaccess mediante datos conectar con como codigo database r ms-access dataset

database - visual - odbcconnectaccess is only usable with 32-bit windows



¿Cómo leer datos de archivos de base de datos.accdb de Microsoft Access en R? (7)

La documentación de RODBC sugiere que es posible, pero no estoy seguro de cómo leer los datos de un archivo de Microsoft Access (el nuevo formato .accdb ) con este paquete en R (en Debian GNU / Linux). La viñeta habla sobre los controladores, pero no entiendo bien cómo puedo ver qué controladores están instalados y, en particular, si tengo un controlador instalado para acceder a esos archivos .accdb .

¿Qué código usas para leer los datos de los archivos .accdb ? Indique en qué plataforma se encuentra y si tuvo que instalar un controlador especial.


El mejor método que me funcionó.

library(RODBC) datab<-file.path("Enroll.accdb") channel<-odbcConnectAccess2007(datab) table<-sqlFetch(channel,"2011")

Esto recuperará datos del "2011" dentro del archivo de inscripción. Pero la codificación UTF no funciona con esto.


El título de la página que vinculó, RODBC: Acceso a la base de datos ODBC , puede ser engañoso. Acceso no significa MS Access; en ese título el acceso significa conectividad. RODBC es un administrador de ODBC para R. Sirve como mediador para proporcionar comunicación entre R y el controlador ODBC para su base de datos de destino. Por lo tanto, para GNU / Linux, aún necesitaría un controlador ODBC para los archivos de base de datos de MS Access ... RODBC no proporciona uno.

Sin embargo, no conozco ningún controlador ODBC MS Access gratuito (como en Freedom y / o beer) para Linux. Easysoft vende one , pero no es barato. También puede haber ofertas de otros proveedores; No he mirado

Podría ser más fácil usar una máquina con Windows para exportar su ACCDB a un formato que R pueda usar. O ejecute R en Windows en lugar de Linux.


Necesitará los controladores para conectar el acceso a la interfaz ODBC. Estos deberían estar en su sistema si tiene Access instalado. Si no, descargue el motor de base de datos de acceso de Microsoft. Luego cree su conexión de datos en ODBC (Es posible que deba ejecutar c:/windows/sysWOW64/odbcad32.exe 32 bits si ejecuta Windows de 64 bits). Tenga en cuenta que este método no funciona en GNU / Linux. Los tiempos de ejecución son solo para Windows, como se menciona en @HansUp a continuación.

En cuanto al código, probablemente comience con odbcConnect(dsn, uid = "", pwd = "", ...) , y la documentación puede ayudar con los detalles.


ODBC es un poco del sistema ''conectar y rezar'' que conecta diferentes ladrillos.

RODBC le permite obtener algo de un proveedor de ODBC en R. Lo que todavía necesita es el controlador de exportación de ODBC (a falta de una palabra mejor) del sistema de base de datos en cuestión. Lo que necesita en su sistema operativo, así que creo que con la combinación de Acceso a Linux está sin suerte. Sólo para Windows.

La gente ha logrado acceder a SQL Server utilizando controladores FreeTDS (para el protocolo TDS subyacente a Sybase y mediante una licencia temprana también MS-SQL), pero generalmente es una lucha para que funcione.


Para importar un archivo de Microsoft Access (.accdb) posterior a 2007 a R, puede usar el paquete RODBC .

Para un archivo .accdb llamado "foo.accdb" con las siguientes tablas, "bar" y "bin", almacenadas en el escritorio de la computadora de John Doe:

library(RODBC) #loads the RODBC package dta <- odbcConnectAccess2007("C:/Users/JohnDoe/Desktop/foo.accdb") #specifies the file path df1 <- sqlFetch(dta, "bar") #loads the table called ''bar'' in the original Access file df2 <- sqlFetch(dta, "bin") #loads the table called ''bin'' in the original Access file


Una alternativa al acceso directo podría ser facilitar la exportación de datos desde MS Access. Al menos la versión más reciente de MS Access permite guardar los distintos pasos de exportación. Uno puede simplemente ejecutar la exportación de varias consultas / tablas con bastante rapidez.

Sé que esto no responde a la pregunta, pero podría ser una solución alternativa si no consigue que RODBC se ejecute.


> library(RODBC) > db<-file.path("student.accdb") > channel<-odbcConnectAccess2007(db) > data<-sqlFetch(channel,"stud") > data ID Name M1 M2 M3 M4 M5 Result 1 7 Radha 85 65 92 50 62 Pass 2 8 Reka 75 85 96 75 85 Pass