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

使用sql developer中的信息,通过R连接到ORACLE,r,rodbc,rjava,rjdbc,roracle,R,Rodbc,Rjava,Rjdbc,Roracle,我在一台没有管理员权限的机器上工作。我使用SQLDeveloper连接到内部数据库。我也想通过R连接 没有管理员权限,我有没有办法做到这一点?有些解决方案需要我设置一个系统DNS,但我不能这样做。 其他要求我安装jvm.dll 我的环境:Windows7,sqldeveloper,连接方法是通过TNS文件。通过R连接到SQL Developer比我遇到的其他数据库要困难得多。在您的机器上安装了jdbc6.jar,并且知道安装它的文件路径,这一点很重要。安装jar文件不需要管理员权限。您可以从安装

我在一台没有管理员权限的机器上工作。我使用SQLDeveloper连接到内部数据库。我也想通过R连接

没有管理员权限,我有没有办法做到这一点?有些解决方案需要我设置一个系统DNS,但我不能这样做。 其他要求我安装jvm.dll


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

通过R连接到SQL Developer比我遇到的其他数据库要困难得多。在您的机器上安装了jdbc6.jar,并且知道安装它的文件路径,这一点很重要。安装jar文件不需要管理员权限。您可以从安装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")
我最喜欢的另一种方法是在使用数据库时,对类似dplyr的函数使用
dbplyr

    library(dbplyr)

    tbl(jdbcConnection, "SAMPLE_TABLE_NAME")

结果输出将是TIBLE形式的查询表中的数据。

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

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

您可以将其放入主目录中的文件
.Rprofile
,RStudio将在每次开始新会话时运行它。一旦在
.r配置文件
中有了它,您应该能够安装
ROracle

使用
ROracle
软件包?这需要将Oracle instant client解压到本地文件夹中。我试过了,但得到了一个
包,它只有源代码形式,可能需要编译C/C++/Fortran:'ROracle'
。针对这一问题的各种解决方案,例如安装“RTools”软件包,但这并没有帮助。另一个解决方案是选择另一个repo(我的默认设置是rstudio镜像),但这也不起作用。你可以将Rtools安装到一个不需要管理员权限的文件夹中。我尝试通过install.packages下载LAOD Rtools,但我没有从Cran手动加载它。现在我可以编译ROracle了。但是我需要一个oracle帐户来下载即时客户端。而且账户确认邮件似乎被我的垃圾邮件过滤器截获了。明天将报告我的进度。:-)已在本地解压即时客户端。但安装失败,并显示以下消息:“错误:找不到Oracle客户端。请设置OCI_LIB64以指定其位置。”-我猜这是一个系统enivoronment变量I win 7?我需要一个管理员帐户来更改。对吗?
Sys.setenv(OCI_LIB64="/Path/to/instantclient",OCI_INC="/Path/to/instantclient/sdk/include")