2017-07-21 3 views
1

Windows 7 64bitマシンでRをMS Accessデータベースに接続しようとしています。RをMS Access 64bit Windowsに接続する

library(RODBC) 
con <- odbcConnectAccess2007("M:/path/to/mydatabase/my.database.accdb") 
# [RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specifiedODBC connection failed 

私もhttps://www.connectionstrings.com/access/で指定した接続文字列を使用してパッケージodbcを試してみたが、同様に

library(DBI) 
con <- dbConnect(drv = odbc::odbc(), dsn = "Microsoft Access Driver", driver = "Microsoft Access Driver (*.mdb, *.accdb)", database = "M:/path/to/mydatabase/my.database.accdb") 
# Error: nanodbc/nanodbc.cpp:950: IM002: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

は私が間違って何をやって接続することはできませんか?

+0

私の[AceOdbcCheck](https://github.com/gordthompson/AceOdbcCheck)スクリプトを使用して、アクセス "ACE" ODBCの有効なインストールをマシンでテストすることができます。インストールされていない場合は、[ここ]のドライバ(http://www.microsoft.com/japan/windowsserver2003/downloads/default.aspx)をダウンロードできます。実行しているRのバージョンと一致する「ビット数」(64ビットまたは32ビット)が必要であることに注意してください。つまり、32ビットRを実行している場合、64ビットWindowsを実行していても32ビットドライバが必要です。 –

+0

ありがとう@Gord Thompson。それが問題でした。回答として投稿し、私はそれを受け入れるでしょう。よくやった。興味のある人は 'library(DBI)'を使って正しい文字列を 'contest mark

答えて

1

AceOdbcCheckスクリプトを使用して、アクセス "ACE" ODBCの有効なインストールをマシンでテストできます。インストールされていない場合は、ドライバhereをダウンロードできます。

Access ODBCドライバの「ビット数」(64ビットまたは32ビット)は、実行しているRのバージョンと一致する必要があります。つまり、32ビットRを実行している場合、64ビットWindowsを実行していても32ビットドライバが必要です。

関連する問題