R Oracle подключается через DBI :: dbDriver (Oracle) выдает ошибку

Я пытаюсь выполнить простое подключение к базе данных Oracle через пакет DBI и ROracle, следуя инструкциям из R для подключения к базе данных Oracle: используйте ROracle как для повышения производительности, так и для масштабируемости.

Когда я тестирую соединение через Windows7> ODBC Data Source Administrator (32bit), соединение успешно. Он использует установленный клиент Oracle OraClient11g_home1, который находится в C: \ oracle \ Client112_32. Переменная среды ORACLE_HOME установлена ​​в C: \ oracle \ Client112_32.

Я предполагаю, что это может быть связано с какой-то 32-битной / 64-битной проблемой? Но даже после некоторого исследования я не нашел никакого решения. Я также пробовал запустить то же самое в 32-битной R, но тоже потерпел неудачу. Кстати, соединение через SQL Developer также успешно.

drv <- DBI::dbDriver("Oracle")
#>Error: Couldn't find driver Oracle. Looked in:
#>* global namespace
#>* in package called Oracle
#>* in package called ROracle

person Triamus    schedule 05.01.2018    source источник


Ответы (2)


У меня тоже была эта проблема. Я обнаружил, что предварительная загрузка библиотеки ROracle решает проблему.

library("ROracle")
drv <- DBI::dbDriver("Oracle")

Но я не знаю почему.

person user11227405    schedule 19.03.2019

Основываясь на ответе user11227405: на самом деле достаточно загрузить ROracle, не прикрепляя его к пути поиска; library () вместо этого делает и то, и другое:

loadNamespace("ROracle")
drv <- DBI::dbDriver("Oracle")

что может быть предпочтительнее, например в пакетах, где следует избегать изменения пути поиска

person Alberto Dell'Era    schedule 24.05.2020