Как экспортировать таблицу R в базу данных Oracle - PullRequest
1 голос
/ 24 октября 2019

Я пытаюсь экспортировать фрейм данных R в базу данных Oracle. Я прочитал этот пост: как экспортировать фрейм данных (R) в таблицу Oracle . Короче говоря,

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

Однако я не знаю, что такое jdbcConnection и как его объявить.

Кстати, я могу соединить Oracle с R Studio с помощью пакета RODBC.

Ответы [ 2 ]

1 голос
/ 24 октября 2019

В принятом ответе по этой ссылке указан пакет RJDBC , который подключается к базе данных SQL с помощью драйвера JDBC Java, в данном случае - драйвера для Oracle. Если вы изучите документацию , вы найдете некоторый шаблонный код, описывающий, как это сделать:

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.jarJAR-файл для драйвера Oracle JDBC. Вы можете загрузить это прямо с сайта Oracle, если у вас его еще нет. Второй параметр, используемый выше при вызове dbConnect, - это URL JDBC для вашего экземпляра Oracle. Обратитесь к любому количеству сообщений о переполнении стека, чтобы узнать, как сформировать соответствующий URL для вашего экземпляра Oracle.

0 голосов
/ 24 октября 2019

Вот еще один пример на основе этого документа :

# 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...