2016-12-01 79 views
1

这是一个和ROracle一样古老的故事......我似乎无法找到解决此问题的解决方案。我卸载了JAVA,R和RTools,并且只用64位版本重新安装了全部3个。 ROracle的构建进展良好,但在尝试加载包时收到以下错误消息。ROracle.dll不是有效的Win32应用程序

我已经看过一些其他解决方案没有成功,并验证了64位安装的Oracle客户端。思考?

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’

回答

1

原来,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) 
相关问题