使用sql developer中的信息通过R连接到ORACLE

时间:2018-07-20 07:24:14

标签: r rodbc rjava rjdbc roracle

我正在没有管理员权限的计算机上工作。我使用sql developer连接到内部数据库。我也想通过R连接。

没有管理员权限,有什么方法可以做到这一点?有些解决方案要求我设置systemDNS-我不能这样做。 其他需要我安装jvm.dll

我的环境:Windows7,sqldeveloper,连接方法是通过TNS文件。

2 个答案:

答案 0 :(得分:1)

通过R连接到SQL Developer比我遇到的其他数据库困难得多。重要的是,您必须在计算机上安装jdbc6.jar,并且知道其安装位置的文件路径。安装jar文件不需要管理员权限。您可以从Oracle's website安装jar文件。

我使用RJDBC包进行连接,如下所示:

    library(RJDBC)

    jdbcDriver <- JDBC("oracle.jdbc.OracleDriver", classPath = "file path to where ojdbc6.jar is installed on your computer")

    jdbcConnection <- dbConnect(jdbcDriver, "jdbc:oracle:thin:@YOUR_SERVER","YOUR_USERNAME","YOUR_PASSWORD")

然后您可以使用许多命令来测试连接;我通常使用:

    dbListTables(jdbcConnection)

我的另一个最爱是在使用数据库时将dbplyr用于类似dplyr的功能:

    library(dbplyr)

    tbl(jdbcConnection, "SAMPLE_TABLE_NAME")

结果输出将是来自查询表的数据以小节形式。

答案 1 :(得分:0)

您可以在R会话中设置环境变量。

Sys.setenv(OCI_LIB64="/Path/to/instantclient",OCI_INC="/Path/to/instantclient/sdk/include")

您可以将其放在主目录中的文件.Rprofile中,每次开始新会话时,RStudio都会运行它。在.Rprofile中拥有此功能后,您应该可以安装ROracle