通过DBI :: dbDriver(“Oracle”)进行的Oracle连接抛出错误

时间:2018-01-05 13:17:16

标签: r oracle oracle11g r-dbi

我尝试按照R to Oracle Database Connectivity: Use ROracle for both Performance and Scalability的说明,通过DBI和ROracle包简单连接到Oracle数据库。

当我通过Windows7测试连接时> ODBC数据源管理员(32位),连接成功。它使用已安装的Oracle客户端OraClient11g_home1,它位于C:\ oracle \ Client112_32中。 ORACLE_HOME环境变量设置为C:\ oracle \ Client112_32。

我猜它可能连接到某些32位/ 64位问题?但即使经过一番研究,我也没有找到任何解决方案。我也尝试在R 32bit中运行相同但也失败了。顺便说一下,通过SQL Developer的连接也很成功。

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

2 个答案:

答案 0 :(得分:0)

我也遇到了这个问题。我发现预先加载ROracle库可以解决此问题。

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

我不知道为什么。

答案 1 :(得分:0)

建立在user11227405的答案上:实际上,无需在搜索路径上附加即可加载 ROracle; library()会同时执行以下操作:

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

可能是首选,例如在软件包中,应避免更改搜索路径