• Windows下一个ROracle安装与使用


    ROracle一个简短的引论:

    ROracle这是R连接到接入Oracle数据库DBI(Oracledatabase interface)介面。这是基于OCI一个DBI兼容Oracle司机.

    具体见说明书:http://cran.r-project.org/web/packages/ROracle/ROracle.pdf

    在Linux下安装ROracle比較简单。仅仅须要用install.packages("ROracle")就可以,在windows下要通过源代码安装。

    安装源文件下载地址:

    http://cran.rstudio.com/src/contrib/ROracle_1.1-11.tar.gz

    Win7中R安装ROracle方法:

    环境变量设置:

    setOCI_LIB64=E:appliczproduct11.2.0dbhome_1BIN

    setOCI_INC=E:appliczproduct11.2.0dbhome_1OCIinclude

    set PATH=C:ProgramFilesRR-3.1.1inx64

    注意:

    假设安装的的R 64bit版本号,那么oracle client也要是64位版本号

    安装步骤:

    打开R

    C:Userslicz>R

    >install.packages("ROracle",type = "source")

    trying URL'http://cran.rstudio.com/src/contrib/ROracle_1.1-11.tar.gz'

    Content type'application/x-gzip' length 226769 bytes (221 Kb)

    opened URL

    downloaded 221 Kb

     

    * installing *source* package'ROracle' ...

    ** 成功将'ROracle'程序包解包并MD5和检查

    cygwin warning:

      MS-DOS style path detected:E:appliczproduct11.2.0dbhome_2BIN

      Preferred POSIX equivalent is:/cygdrive/e/app/licz/product/11.2.0/dbhome_2/BIN

      CYGWIN environment variable option"nodosfilewarning" turns off this warning.

      Consult the user's guide for more detailsabout POSIX paths:

       http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

    Oracle Client Shared Library64-bit - 11.2.0.3.0 Operating in ORACLE_HOME environment.

    found Oracle ClientE:appliczproduct11.2.0dbhome_2BIN

    found Oracle Client includeE:appliczproduct11.2.0dbhome_2OCIinclude

    copying fromE:appliczproduct11.2.0dbhome_2OCIinclude

    ** libs

    警告: this package has a non-empty 'configure.win' file,

    so building only the mainarchitecture

     

    cygwin warning:

      MS-DOS style path detected:C:/PROGRA~1/R/R-31~1.1/etc/x64/Makeconf

      Preferred POSIX equivalent is:/cygdrive/c/PROGRA~1/R/R-31~1.1/etc/x64/Makeconf

      CYGWIN environment variable option"nodosfilewarning" turns off this warning.

      Consult the user's guide for more detailsabout POSIX paths:

       http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

    gcc -m64-I"C:/PROGRA~1/R/R-31~1.1/include" -DNDEBUG -I./oci   -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall -std=gnu99 -mtune=core2 -c rodbi.c -o rodbi.o

    gcc -m64-I"C:/PROGRA~1/R/R-31~1.1/include" -DNDEBUG -I./oci   -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall -std=gnu99 -mtune=core2 -c rooci.c -o rooci.o

    In file included fromC:/PROGRA~1/R/R-31~1.1/include/R.h:50:0,

                     from rodbi.h:38,

                     from rooci.c:64:

    C:/PROGRA~1/R/R-31~1.1/include/R_ext/RS.h:45:0:warning: "ERROR" redefined [enabled by default]

    c: toolsgcc-4.6.3in../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-mingw32/include/wingdi.h:70:0:note: this is the location of the previous definition

    gcc -m64 -shared -s-static-libgcc -o ROracle.dll tmp.def rodbi.o rooci.o E:appliczproduct11.2.0dbhome_2BIN/oci.dll-Ld:/RCompile/CRANpkg/extralibs64/local/lib/x64-Ld:/RCompile/CRANpkg/extralibs64/local/lib -LC:/PROGRA~1/R/R-31~1.1/bin/x64-lR

    installing to C:/ProgramFiles/R/R-3.1.1/library/ROracle/libs/x64

    ** R

    ** inst

    ** preparing package for lazyloading

    Creating a generic function for'summary' from package 'base' in package 'ROracle'

    ** help

    *** installing help indices

    ** building package indices

    ** testing if installed packagecan be loaded

    * DONE (ROracle)

     

    The downloaded source packagesare in

             ‘C:UsersliczAppDataLocalTempRtmpAjzrhPdownloaded_packages’

    ROracle包使用:

    >library(ROracle)

    加载须要的程辑包:DBI

    # 连接本地Oracle数据库

    > con <- dbConnect(drv,username = "scott", password = "tiger")

    > rs <- dbSendQuery(con,"select * from emp where deptno = 10")

    > data <- fetch(rs)

    > data

      EMPNO ENAME       JOB  MGR  HIREDATE  SAL COMM DEPTNO

    1  7782 CLARK   MANAGER 7839 1981-06-092450   NA     10

    2  7839  KING PRESIDENT   NA 1981-11-175000   NA    10

    3  7934 MILLER     CLERK 7782 1982-01-23 1300   NA    10

    > dim(data)

    [1] 3 8

    # 连接远程Oracle数据库

    > drv <-dbDriver("Oracle")

    > connect.string <-"(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.5.195)(PORT =1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = cwdb)))"

    > con <- dbConnect(drv,username = "scott", password = "tiger",

    + dbname = connect.string)

    > rs <- dbSendQuery(con,"select * from emp where deptno = 10")

    > data <- fetch(rs)

    > data

      EMPNO ENAME       JOB  MGR  HIREDATE  SAL COMM DEPTNO

    1  7782 CLARK   MANAGER 7839 1981-06-092450   NA     10

    2  7839  KING PRESIDENT   NA 1981-11-175000   NA     10

    3  7934 MILLER     CLERK 7782 1982-01-23 1300   NA    10

    > dim(data)

    [1] 3 8

    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    软考解析:2014年上半年下午试题
    软考解析:2014年下半年下午试题
    软考解析:2015年下半年下午试卷
    软考解析:2015年上半年下午试卷
    怎样完善和推广自己的理论模型?
    怎样完善和推广自己的理论模型?
    Android开发——常见的内存泄漏以及解决方案(一)
    聊聊Android5.0中的水波纹效果
    JVM——自定义类加载器
    JVM——Java类加载机制总结
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4746038.html
Copyright © 2020-2023  润新知