Я очень плохо знаком с R, поэтому, пожалуйста, простите любые очевидные или наивные ошибки.Мне нужно вставить несколько строк данных из R в таблицу базы данных Oracle.
Создайте фрейм данных (я установил соединение RJDBC ранее в сценарии):
df <- data.frame("field_1" = 1:2, "field_2" = c("f","k"), "field_3"= c("j","t"))
Этот код выполняется без ошибок, но вставляет в таблицу только первую строку:
insert <- sprintf("insert into temp_r_test_u_suck values (%s')",
apply(df, 1, function(i) gsub(" ", "", paste("'", i, collapse="',"), fixed = TRUE)))
dbSendUpdate(con, insert)
Этот код выполняется:
insert <- sprintf("into temp_r_test_u_suck values (%s')",
apply(df, 1, function(i) gsub(" ", "", paste("'", i, collapse="',"), fixed = TRUE)))
insert_all <- c("insert all", insert, "select * from dual")
dbSendUpdate(con, insert_all)
Но выдает мне эту ошибку:
Error in .local(conn, statement, ...) :
execute JDBC update query failed in dbSendUpdate (ORA-00905: missing keyword
Оба запроса работают в Oracle самостоятельно.Что я делаю неправильно?
Спасибо!