所以我在这里遵循了以下说明:
https://medium.com/analytics-vidhya/how-to-install-roracle-on-windows-10-144b0b923dac
有效安装瘦客户端,设置环境变量。。。然后下载适用于windows的ROracle 64位,并在R:中运行以下程序
setwd("C:/Users/MyName/Downloads")
install.packages("ROracle_1.3-2.zip",repos = NULL)
install.packages("DBI")
library("DBI")
library("ROracle")
我得到了这个错误:
source("~/.active-rstudio-document")
Installing package into ‘C:/Users/MyName/AppData/Local/R/win-library/4.2’
(as ‘lib’ is unspecified)
package ‘ROracle’ successfully unpacked and MD5 sums checked
Error in install.packages : package ‘ROracle’ not installed because it is not built for UCRT
Installing package into ‘C:/Users/MyName/AppData/Local/R/win-library/4.2’
事实证明,R确实比Python更棘手。这通过";pip-installcx_Oracle";。
这很痛苦,但我能够在带有Windows 11的RStudio R4.2中安装ROracle,从源代码构建。这是我的笔记:
###***安装ROracle的程序***###
来自的笔记https://community.oracle.com/tech/developers/discussion/4493466/roracle-for-r-4-0-0-or-newer
-
获取并安装新版本的R.
-
安装新版本的Rtools。在我的情况下,它是4.2版本,就像上面注释页中所说的那样:https://cran.r-project.org/bin/windows/Rtools/rtools42/rtools.html.单击Rtools42_installer。接受默认值。
-
获取新版本的Oracle Instant Client并将其提取到文件夹C:\Oracle中,创建C:\Oracle\instantclient_21_6https://www.oracle.com/database/technologies/instant-client/downloads.html
-
从即时客户端的sdk包获取新版本https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html请确保将sdk包提取到位于C:\oracle\instantclient_21_6的即时客户端文件夹中。所以在我的例子中,结果是:C:\oracle\instantclient_21_6\sdk。
-
打开您的";"环境变量";并添加变量";OCI_LB64";具有与您的即时客户端所在位置相同的值(在我的案例中为C:\oracle\instantclient_21_6(
In";"环境变量";还添加变量";PATH";具有相同的值C:\oracle\instantclient_21_6(已经有一个"路径"变量。添加"路径"作为新变量。在此之前,我收到LoadLibrary错误。
-
下载新版ROracle(ROracle_1.3-2.tar.gz(https://www.oracle.com/database/technologies/roracle-downloads.html并将其存储到文档文件夹中。至少在我的情况下,remotes:install_local函数从那个位置调用了包。当您尝试在R中运行install命令时,如果找不到ROracle,remotes:install_local将在尝试查找ROracle的位置向您发出警告。
-
打开R(如果已经运行,则需要重新启动环境变量更改才能生效(
将wd设置为Documents:setwd("~/")
install.packages("codetools")
#这是R基的一部分吗?可能不需要额外安装??
install.packages("remotes")
remotes::install_local("ROracle_1.3-2.tar.gz", repos = NULL, type = "source")
希望这一切都能奏效。您将需要包裹";DBI";也
正如您在ROracle的CRAN软件包页面上看到的那样,没有预先提供的二进制文件:不适用于Windows,不适用于macOS,也不适用于macOS-Arm64。
您试图安装不同的版本,错误消息告诉您,不适合Windows上的当前R版本,该版本已切换(从4月的R 4.2.0开始(为UCRT内部版本,以便在Windows上更好地支持utf-8。(在R开发者博客上有大量关于底层细节的文档。(
您的版本似乎是为以前的版本构建的,所以如果您非常需要它,可以选择降级到R 4.1.*。否则,也许你可以让数据库系统背后的好人来为你构建当前R的更新版本,或者你可以自己尝试。
@Brian Syzdek的回答帮助我在Windows 10设备上安装。另外几点可能会对其他人有所帮助。
- 我不需要安装codetools包
- 请确保在以下位置下载并安装ROracle_1.3-2.tar.gz文件在https://www.oracle.com/database/technologies/roracle-downloads.html,而不是链接到Windows行
- 我不得不在RStudio控制台中使用
remotes:install_local
;使用Rstudio菜单工具->安装程序包对我不起作用,尽管这可能与最初尝试安装zip文件有关,而不是tar.gz