[R]Accessのファイル(*.accdb)の中身を読み込む
RでAccessのファイル(*.accdb)の中身を簡単に読み込むには、パッケージRODBCを使えばよい。ただし、Rの環境とは別に、ウィンドウズ自体に、Accessのデータベースエンジンをインストールしておく必要がある。これはフリーウェアとしてマイクロソフトのウェブサイトで公開されており、簡単にインストールできる。
まず、パッケージRODBCは初期状態ではインストールされていないため、パッケージRODBCをインストールする。
> install.packages("RODBC")
まず、Accessのデータベースエンジンをインストールしていない環境では、Accessのファイルを読み込もうとすると(例ではファイルをsample.accdbと指定)、以下のようなエラーメッセージが表示される。
> library(RODBC)
> odbcConnectAccess2007("sample.accdb")
[1] -1
警告メッセージ:
1: odbcDriverConnect(con, ...) で:
[RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。
2: odbcDriverConnect(con, ...) で: ODBC connection failed
コントロールパネルの「管理ツール」→「ODBC データ ソース (64 ビット)」(Windows7の場合は「データ ソース (ODBC)」)を選択。
現れたダイアログの「ドライバー」タブを選択する。以下は表示例だが、名前のところに、「Microsoft Access Driver (*.mdb, *.accdb)」が含まれていないはず。これがなければRでAccessのデータベースファイルを読み込むことができない。
必要なファイルをインストールする。
データベースエンジンをインストールする。マイクロソフトの公式ページからダウンロードする。
Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント
https://www.microsoft.com/ja-jp/download/details.aspx?id=13255
2017年12月時点の最新版は、2016年7月1日に公開されたバージョンSP2。言語を選択で日本語を選択し、「ダウンロード」と書かれた赤いボタンをクリックすると、ファイルを選択する画面に移る。以下の2つのファイルが選択できる。
AccessDatabaseEngine.exe
AccessDatabaseEngine_X64.exe
32ビット版のウィンドウズであれば上を、64ビット版であれば下のファイルをダウンロードする。ダウンロードしたら、実行してインストールをする。
データベースエンジンをインストールしたら、前述のコントロールパネルの画面を再度確認する。無事にインストールされていれば、以下の例のように「Microsoft Access Driver (*.mdb, *.accdb)」が含まれているはず。
これでパッケージRODBCを使用して*.accdbファイルを読み込めるようになった。Rで試してみる。パッケージを選択してodbcConnectAccess2007関数で読み込んでみる。
> library(RODBC)
> odbcConnectAccess2007("sample.accdb")
RODBC Connection 3
Details:
case=nochange
DBQ=○:\○○\sample.accdb
Driver={Microsoft Access Driver (*.mdb, *.accdb)}
DriverId=25
FIL=MS Access
MaxBufferSize=2048
PageTimeout=5
UID=admin
*.accdbファイルを読み込める状態であれば、上記のように表示される。


