2

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

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

加载所需的包:inDL(x, as.logical(local), as.logical(now), ...) 中的 DBI 错误:无法加载共享对象 'C:/Program Files/R/R-3.3.2/ library/ROracle /libs/x64/ROracle.dll':LoadLibrary 失败:%1 不是有效的 Win32 应用程序。

错误:“ROracle”的包或命名空间加载失败</p>

4

1 回答 1

2

原来,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)
于 2016-12-06T16:07:18.990 回答