[R] Reading MS Access Database Files?
Jason Turner
jasont at indigoindustrial.co.nz
Thu Mar 1 19:45:47 CET 2001
Hi
> Does anyone know of a way to convert or read MS Access database files under Linux
> so I can access them in R? I had contacted Concdeptual Software about DBMS/Copy
> and they assured me that the Linux version could handle Access files. Of course,
> when I purchased it then they said that it couldn't read MS Access files.
>
> Rick Bilonick
Haven't tried exactly this, so take it with the appropriate scoops of salt...
It may be possible to export the data as an ODBC source, and use RODBC
to read it. The more I think about it, though, the more hurdles present
themselves. The biggest problem is the fact that Access behaves as a
self-contained database package - I don't know of any way to make it behave
like a database server, providing data to other applications on demand.
The RODBC package is something I've used rather a lot under R, but never
to read an Access database. I usually export the Access data via ODBC
to a network-aware database server (usually PostgreSQL), and then
use RODBC or RPgSQL from there.
Once the data is transferred to the server, I also usually use that as
my workbase - removing or renaming the original tables within Access
and then linking the tables via ODBC from the database server back
to Access, so version control and concurency aren't a problem.
[somewhat off-topic - perl as a tool for the job]
One possibility (if you're comfortable with perl) is the DBI package,
using the DBD::Proxy functionality, and "roll your own" server connection.
This is less elaborate than it sounds - the infrastructure to do this
is already provided within DBI and DBD::Proxy, including finnicky details
like compression for transmission over slow networks, and encrypted
transmission.
R would use system() to call a perl script on the linux machine,
which would connect to a (running in background) perl script on the
windows machine. The perl script on the Windows machine would excecute
the data fetching, and pass it back to the perl script on the linux
machine. From there, the values could be passed back to R, or to
an external file.
This sounds pretty involved, but perl isn't hard to learn if you
don't know it, and if you do, the DBI module isn't difficult.
Hope this helps - I've never tried it exactly like this. Let me know
what you find.
Cheers
Jason
--
Indigo Industrial Controls Ltd.
64-21-343-545
jasont at indigoindustrial.co.nz
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list