ROracle.dll 不是有效的 Win32 应用程序

标签 roracle

这是一个与 ROracle 一样古老的故事......我似乎找不到解决这个问题的方法。我已经卸载了 JAVA、R 和 RTools,并重新安装了所有 3 个,只有 64 位版本。 ROracle 的构建进展顺利,但在尝试加载包时收到以下错误消息。

我查看了一些其他解决方案,但没有成功,并验证了 Oracle 客户端的 64 位安装。想法?

Loading required package: DBI Error in inDL(x, as.logical(local), as.logical(now), ...) : unable to load shared object 'C:/Program Files/R/R-3.3.2/library/ROracle /libs/x64/ROracle.dll': LoadLibrary failure: %1 is not a valid Win32 application.

Error: package or namespace load failed for ‘ROracle’

最佳答案

事实证明,IT 部门推出了 32 位版本的 Oracle 客户端,而不是 64 位。如果您收到此消息,则所有路径都是正确的,并且您确定使用的是 64 位 R/Java,然后尝试在 32 位模式下构建。

这里是给 ROracle 用户的一份礼物,以弥补这个愚蠢的帖子: 这是我在我的设施内传递的安装脚本,以促进该过程,我认为其他人可能会发现它有用。我们使用的是 Windows 7,有些有 x64。全部都使用 32 位 Oracle 客户端。

# First install RTools w/ path modifications during the install
# Verify file paths
filePathofPackage <- "YOUR/FILE/PATH/ROracle_1.3-1.tar.gz"
if(Sys.getenv("R_ARCH") != "/i386") stop("Process must be run in 32bit version of R")
Sys.setenv(OCI_LIB32 = "C:\\Oracle\\product\\11.2.0\\client_1\\bin")
Sys.setenv(OCI_INC = "C:\\Oracle\\product\\11.2.0\\client_1\\oci\\include")
install.packages(filePathofPackage, repos = NULL, verbose = T, clean = T)

关于ROracle.dll 不是有效的 Win32 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40922243/

相关文章:

ROracle 包安装失败

r - 从包含它们的表中创建单个对象

R 版本 4.0.0 上的 ROracle

roracle - 如何安装ROracle包?

r - 将 R 连接到 Oracle 数据库/服务器(ROracle、RODBC...)

ROracle - dbWriteTable,日期列

r - 无法在 Linux 上使用 ROracle 连接到 Oracle 数据表(错误 ORA-01804,能够使用 Sql*Plus)