2017-01-04 33 views
1

Я хотел бы открыть базу данных 2007 доступа в R. Для этого я использую следующий код:драйверов ODBC не найден

RIFSdatabase <- odbcConnectAccess2007(paste(db.dir, DB.filename, sep='/')) 

Если RAN в 32-битном R (R консоли или R студии) следующее сообщение об ошибке возвращается:

Warning messages: 1: In odbcDriverConnect(con, ...) : [RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

2: In odbcDriverConnect(con, ...) : ODBC connection failed

Если побежал в 64-битном R (R консоли или Rstudio) возвращается следующее сообщение об ошибке:

Warning messages: 1: In odbcDriverConnect(con, ...) : [RODBC] ERROR: state IM003, code 160, message Specified driver could not be loaded due to system error 126: The specified module could not be found. (Microsoft Access Driver (*.mdb, *.accdb), C:\Program Files\Common Files\Microsoft Shared\OFFICE16\ACEODBC.DLL). 2: In odbcDriverConnect(con, ...) : ODBC connection failed

MS Access драйверов баз данных (* .mdb, * ACCDB) перечислены как User DSN, но ... если я щелкаю Конфигурировать я получаю сообщение об ошибке:

"The setup routines for the Microsoft Access Driver (*mdb, *accdb) ODBC driver could not be loaded to system error code 126: The specified module could not be found. (C:\Program Files\Common Files\Microsoft Shared\OFFICE16\ACEODBC.DLL)

Как я могу исправить эту ошибку соединения?

Я не использовал свои драйверы ODBC на этом компьютере для чего-либо еще - на основании этих ошибок они, возможно, не установлены (несмотря на то, что они перечислены как User DSN)?

Мне все равно, если я запускаю R в 32 или 64 бит.

+0

Вы выбежали офисный ремонт? Возможно, у вашей установки есть некоторые проблемы, которые необходимо устранить. Кроме того, если у вас установлен 32-битный офис, вам нужно запустить 32-битный R, чтобы использовать драйверы ODBC. Здесь есть работа здесь: http://stackoverflow.com/a/39962110/3242130 – manotheshark

+1

С RODBC запустите команду 'odbcDataSources()', чтобы просмотреть все доступные источники ODBC. Кроме того, попробуйте обобщенный метод подключения, а не один из них: 'odbcDriverConnect ('Driver = {Microsoft Access Driver (* .mdb, * .accdb)}; DBQ = C: \\ Путь \\ К \\ База данных \\ Файл .accdb ') ' – Parfait

+0

@Parfait - Когда я запускаю команду obdcDataSources(), я вижу базу данных MS Access« Microsoft Access Driver (* .mdb, * .accdb) ». Используя команду odbcDriverConnect («Драйвер = {Microsoft Access Driver (* .mdb, * .accdb)}; DBQ = x: /PATHWAY.accdb ') Я получаю ошибку В odbcDriverConnect (« Драйвер = {Microsoft Access Driver (*. mdb, * .accdb)}; DBQ = x: /surface/UOP/01_Data/BCSA_PRP_Group/BCSA_Database_GUI/BCSA_ExternalAccess.accdb "): [RODBC] ERROR: состояние IM002, код 0, сообщение [Microsoft] [диспетчер драйверов ODBC] Имя источника данных не найдено и не указан драйвер по умолчанию –

ответ

0

Выполнение поиска Google с вашим кодом ошибки показал последующий ответ на пост с той же ошибкой в ​​Microsoft:

You need to go to

C:\Windows\SysWOW64\obdcad32.exe

that will load the 32 bit odbc manager which is needed for creating DSN's with 32 bit drivers.

https://answers.microsoft.com/en-us/msoffice/forum/msoffice_access-mso_other/microsoft-access-driver-mdb-accdb-system-error/def76bd8-ffc6-44ec-a3e4-47a839b1314e

 Смежные вопросы

  • Нет связанных вопросов^_^