robin.datadrivers
robin.datadrivers

Reputation: 595

ROracle Error in .oci.Driver

I'm trying to use ROracle. My Oracle database version is Oracle Database 12c Release 12.1.0.1.0 - 64bit Production, and I have installed Instant Client and SDK for the version 12.1.0.2.0 (12.1.0.1.0 isn't available on Oracle's site).

I can access the Oracle database through Oracle SQL Developer without any issues. The error message I get in RStudio is:

Error in .oci.Driver(.oci.drv(), interruptible = interruptible, unicode_as_utf8 = unicode_as_utf8,  : 

In case it's useful, I have installed Instant Client and SDK here: C:\oreclient_install_dir\instantclient_12_1

I'm running a Windows machine and I followed the instructions on CRAN: http://cran.us.r-project.org/web/packages/ROracle/INSTALL Including adding the environment variables.

After some searching (e.g. here) it looks like I need to set LD_LIBRARY_PATH and ORACLE_HOME and "OCI_LIB", which I did:

Sys.setenv(LD_LIBRARY_PATH="C:/oreclient_install_dir/instantclient_12_1")
Sys.setenv("ORACLE_HOME" = "C:/oreclient_install_dir/instantclient_12_1")
Sys.setenv("OCI_LIB" = "C:/oreclient_install_dir/instantclient_12_1")

Same error comes up. I'm likely not doing this right, however; I'm not a DBA and don't know all the details.

Any help with this would be appreciated.

Upvotes: 1

Views: 1356

Answers (1)

chinsoon12
chinsoon12

Reputation: 25225

LD_LIBRARY_PATH is for Linux. Assuming that you already have Rtools installed in C:\Rtools, you can use the following code to install ROracle

Sys.setenv(OCI_LIB64="C:\\oreclient_install_dir\\instantclient_12_1")
Sys.setenv(PATH=paste0(Sys.getenv("PATH"),";C:\\oreclient_install_dir\\instantclient_12_1"))
install.packages("ROracle", type="source", INSTALL_opts="--no-multiarch")

For using the ROracle package, you can use the following:

Sys.setenv(OCI_LIB64="C:\\oreclient_install_dir\\instantclient_12_1")
Sys.setenv(PATH=paste0(Sys.getenv("PATH"),";C:\\oreclient_install_dir\\instantclient_12_1"))
library(ROracle)

Upvotes: 1

Related Questions