You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems RJDBC doesn't seem to work with appending data to existing tables on Oracle?
The below works:
con <- RJDBC::dbConnect(RSQLite::SQLite(), ":memory:")
sample_data <-data.table(letters = letters,numbers = seq(letters))
dbRemoveTable(con,"JDBC_test_table")
dbWriteTable(con,"JDBC_test_table",sample_data,append = TRUE,overwrite = FALSE) # Create a table: Success
dbWriteTable(con,"JDBC_test_table",sample_data,append = TRUE,overwrite = FALSE) # Append: Success on SQLite
check <- dbGetQuery(con,"SELECT * FROM JDBC_test_table;")
dbDisconnect(con)
This does not:
con <- anyOracleConnection()
sample_data <-data.table(letters = letters,numbers = seq(letters))
dbRemoveTable(con,"JDBC_test_table")
dbWriteTable(con,"JDBC_test_table",sample_data,append = TRUE,overwrite = FALSE) # Create a table: Success
dbWriteTable(con,"JDBC_test_table",sample_data,append = TRUE,overwrite = FALSE) # Append: Error on Oracle
check <- dbGetQuery(con,"SELECT * FROM JDBC_test_table;")
dbDisconnect(con)
Edit:
To add to this, I was also noticing this very contradictory behavior with Oracle tables. I think it is related to not correctly detecting if a table exists or not?
> RJDBC::dbExistsTable(con,"JDBC_test_table")
[1] TRUE
> RJDBC::dbRemoveTable(con,"JDBC_test_table")
Error in .local(conn, statement, ...) :
execute JDBC update query failed in dbSendUpdate
JDBC ERROR: ORA-00942: table or view does not exist
Statement: DROP TABLE JDBC_test_table
> RJDBC::dbWriteTable(con,"JDBC_test_table",sample_data)
Error in .local(conn, name, value, ...) :
Table `JDBC_test_table' already exists
The text was updated successfully, but these errors were encountered:
Splitting off from a older separate issue, since it seems specific to Oracle and new problem: #55
Oracle Version: Oracle Database 19c Enterprise Edition 19.0.0.0.0 -- Version 19.17.0.0.0
It seems RJDBC doesn't seem to work with appending data to existing tables on Oracle?
The below works:
This does not:
Edit:
To add to this, I was also noticing this very contradictory behavior with Oracle tables. I think it is related to not correctly detecting if a table exists or not?
The text was updated successfully, but these errors were encountered: