• R语言已解决
  • 求助:请问如何在 R 4.0 上连接 Oracle 数据库(ROracle 包无法使用)

问题描述

我用的是 windows 系统。官网上最新版的 ROracle 1.3-2 只支持到 R 3.6,在 R 4.0 上可以安装,但在加载时会提示不适用于 R 4.0,请问该如何解决这个问题?或者有什么别的方法/包可以在 R 4.0 上连接到服务器上的 Oracle 数据库?

错误提示

library(ROracle)
载入需要的程辑包:DBI
错误: package or namespace load failed for ‘ROracle’:
 package ‘ROracle’ was installed before R 4.0.0: please re-install it

系统环境

sessionInfo()
R version 4.0.4 Patched (2021-02-27 r80043)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19042)

Matrix products: default

locale:
[1] LC_COLLATE=Chinese (Simplified)_China.936  LC_CTYPE=Chinese (Simplified)_China.936    LC_MONETARY=Chinese (Simplified)_China.936
[4] LC_NUMERIC=C                               LC_TIME=Chinese (Simplified)_China.936    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] RJDBC_0.2-8  rJava_0.9-13 DBI_1.1.1   

loaded via a namespace (and not attached):
[1] compiler_4.0.4 tools_4.0.4   
    s609078902 更改标题为「求助:请问如何在 R 4.0 上连接 Oracle 数据库(ROracle 包无法使用)

    s609078902 跪求不点名。能力范围内的问题我尽量苟延残喘回答一下,但我不是什么问题都罩得住的,比如你这个,我没用过 ROracle。

    s609078902

    装完R4.0 之后,重新安装一次 ROracle 试试

    如果还不行,就只能再装一个R-3.6 版本去用了;

      20 天 后

      来来来,我可以帮你。你就装ROracle就好了,速度快,好用。不管是windows还是linux,不管是啥编码问题,本人包解决(所有坑全部趟过)。大概三个步骤:

      1. 下载正确的instant client 以及sdk,放到某个目录里
      2. 设置相应的环境变量 Path, OCI_LIB, NLS_LANG
      3. 从源码编译ROracle

      特别具体的我暂时没时间写详细,你多读几遍这个https://mirrors.tuna.tsinghua.edu.cn/CRAN/web/packages/ROracle/INSTALL 文档吧。

      但要是你实在鼓捣不出来,我可以抽空写个详尽的步骤说明。


      不过我无法理解这句话:

      官网上最新版的 ROracle 1.3-2 只支持到 R 3.6

      因为CRAN不提供binary的ROracle版本,原因是instant client或者相关的SDK是独立于这个包之外的。所以你一直需要从源码编译这个包啊。

        1 年 后

        shrektan 谢谢你的回答,今天才看到你的回答实在抱歉。由于我换公司了,新公司没有Oracle的数据库,所以暂时也没办法试验。

        我说的官网没有是指oracle的官网没有提供支持R4.0+的ROracle包,所以我在R4.0+上装不上ROracle包

          12 天 后