如何将R连接到Oracle?

时间:2012-06-14 16:04:16

标签: database oracle r

我需要将R连接到oracle,到目前为止我还没有成功。我下载了两个软件包:RODBC& RODM。

这是我一直在使用的陈述:

DB <- odbcDriverConnect("DBIORES1",uid="mhala",pwd="XXXXXXX")

但是我收到了这个错误:

Error in odbcDriverConnect("DBIORES1", uid = "mhalagan", pwd = "XXXXXXX") : 
  unused argument(s) (uid = "mhalagan", pwd = "XXXXXXX")

我需要哪些信息才能连接到oracle数据库?我使用正确的包装吗?

4 个答案:

答案 0 :(得分:3)

请参阅odbcDriverConnect()的帮助页面。 odbcDriverConnect()不接受uidpwd个参数。您可能打算使用odbcConnect()代替:

odbcConnect(dsn = "DBIORES1", uid = "mhala", pwd = "XXXXXXX")

除了RODBC包之外,还有RODM包,我认为它是专门为Oracle数据库设计的,在此进一步描述:http://www.oracle.com/technetwork/articles/datawarehouse/saternos-r-161569.html。我不使用Oracle数据库,因此不能评论这两个软件包的优点。

答案 1 :(得分:1)

您是否安装了oracle ODBC客户端/驱动程序?如果要使用ODBC R包,则需要使用它。转到oracle instant client download获取适用于您的操作系统的客户端。安装它们,然后继续配置ODBC并测试R之外的连接,然后安装R和RODBC并在R中进行测试。

答案 2 :(得分:1)

过去我成功地使用RJDBC从R连接到Oracle数据库。我发现它更容易上手,因为我抓住了我在当时使用的基于java的GUI中成功使用的连接字符串,就像魔术一样“只是工作”(tm)。

答案 3 :(得分:1)

RJDBC对我来说很好。您只需要拥有Oracle-thin驱动程序jar文件并配置连接,如:

> install.packages("RJDBC")
> library(RJDBC)
> drv <- JDBC("oracle.jdbc.driver.OracleDriver","/path/to/driver/com/oracle/oracle-thin/11.2.0.1.0/oracle-thin-11.2.0.1.0.jar”)
> conn <- dbConnect(drv, "jdbc:oracle:thin:@database:port:schema”, “user”, “passwd”)

然后准备执行一些查询。

JA。