我一直在尝试从R建立与Oracle数据库的连接。在Windows和Linux上运行良好,但似乎无法在Mac上运行它。这是另一篇文章,我按照说明没有运气。我更喜欢使用RODBC软件包,但是使用ROracle是可以的(我无法工作)。我尝试了Oracle Instant Client和Actual Technologies驱动程序。任何帮助将不胜感激。
Installing ROracle on Mac OS X - what is needed from Oracle?
使用Active Technologies驱动程序,我已经设置并成功测试了ODBC管理器的连接,但odbcDataSources()
没有返回我定义的任何连接。
由于编译错误,ROracle无法安装:
ld: library not found for -lclntsh
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ROracle.so] Error 1
ERROR: compilation failed for package ‘ROracle’
* removing ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library/ROracle’
似乎当解压缩时,即时客户端不会将文件放在正确的目录中。以下是我组织文件的方式:
bin/adrci
bin/genezi
bin/sqlplus
bin/uidrvci
lib/libclntsh.dylib.11.1
lib/libnnz11.dylib
lib/libocci.dylib.11.1
lib/libociei.dylib
lib/libocijdbc11.dylib
lib/sqlplus.dylib
lib/sqlplusic.dylib
lib/odbc5.jar
lib/odbc6.jar
lib/xstream.jar
sdk/ - All the files from that ZIP file
我还必须创建一个rdbms / public目录。我把所有头文件(.h)放在了这个过程中让我更进一步。
答案 0 :(得分:0)
答案 1 :(得分:0)
自从我在Mac上工作了一段时间......
教育猜测用ROracle解决你的编译问题:
执行export LD_LIBRARY_PATH=<instantclientlocation>/lib
这有帮助吗?
答案 2 :(得分:0)
我可以用ROracle帮助你。以下是使其有效的步骤:
一些注意事项:
R几乎是一款便携式应用。如果您将它与Rstudio一起使用,您可以轻松地从OracleR和另一个R的分布之间切换RStudio设置。
如果您的环境变量中碰巧有多个发行版,请确保在继续之前使用Oracle R。
版本有一些细节,所以这是我工作安装的代码:
install.packages(".\\packages\\client\\ORE_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\client\\OREbase_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\client\\OREcommon_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\client\\OREdm_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\client\\OREeda_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\client\\OREembed_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\client\\OREgraphics_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\client\\OREmodels_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\client\\OREpredict_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\client\\OREstats_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\client\\ORExml_1.5.1.zip",repos=NULL)
install.packages(".\\packages\\supporting\\arules_1.5-0.zip",repos=NULL)
install.packages(".\\packages\\supporting\\Cairo_1.5-9.zip",repos=NULL)
install.packages(".\\packages\\supporting\\DBI_0.6-1.zip",repos=NULL)
install.packages(".\\packages\\supporting\\png_0.1-7.zip",repos=NULL)
install.packages(".\\packages\\supporting\\randomForest_4.6-12.zip",repos=NULL)
install.packages(".\\packages\\supporting\\ROracle_1.3-1.zip",repos=NULL)
install.packages(".\\packages\\supporting\\statmod_1.4.29.zip",repos=NULL)
require(DBI)
require(OREdm)
require(ORE)
require(ROracle)
ore.connect(user = "...", sid = "...", host = "...", password = "...")
ore.is.connected() #to test the connection
4。此时,您应该能够从服务器接收响应。如果你无法连接,有两件事要做:
ore.connect()
参数