如何将R表导出到Oracle数据库

时间:2019-10-24 13:20:40

标签: oracle rstudio

我正在尝试将R数据框导出到Oracle数据库。 我读了这篇文章:how to export data frame (R) into Oracle table。简而言之,

dbWriteTable(jdbcConnection,"TABLE_NAME",data.frame.name.,   rownames=FALSE, overwrite = TRUE, append = FALSE)

但是,我不知道什么是'jdbcConnection'以及如何声明它。

顺便说一句,我能够使用RODBC软件包将Oracle与R Studio连接起来。

2 个答案:

答案 0 :(得分:1)

该链接中接受的答案引用了RJDBC package,它使用Java JDBC驱动程序(在本例中为Oracle驱动程序)连接到SQL数据库。如果您在documentation周围闲逛,则会发现一些样板代码来实现此目的:

drv <- JDBC("oracle.jdbc.driver.OracleDriver", "/path/to/ojdbc6.jar", " ")
conn <- dbConnect(drv, "jdbc:oracle:thin:@localhost:1521:orclt")
dbWriteTable(conn, "TABLE_NAME", data.frame.name, rownames=FALSE, overwrite = TRUE, append = FALSE)

请注意,要使上述工作正常进行,您将需要本地ojdbc6.jar JAR文件用于Oracle JDBC驱动程序。如果尚未安装,可以直接从Oracle网站下载。上面dbConnect调用中使用的第二个参数是Oracle实例的JDBC URL。请参阅Stack Overflow上的任何文章,以了解如何为您的Oracle实例形成适当的URL。

答案 1 :(得分:0)

这里是另一个示例based on this doc

# Load RJDBC library
library(RJDBC)

# Create connection driver and open connection
jdbcDriver <- JDBC(driverClass="oracle.jdbc.OracleDriver", classPath="lib/ojdbc6.jar")
jdbcConnection <- dbConnect(jdbcDriver, "jdbc:oracle:thin:@//database.hostname.com:port/service_name_or_sid", "username", "password")

# Write to table
dbWriteTable(jdbcConnection,"TABLE_NAME",data.frame.name, rownames=FALSE, overwrite = TRUE, append = FALSE)