'RJDBC'的dbSendStatement()中的ORA-00900错误

时间:2016-10-17 14:16:46

标签: r oracle jdbc

我正在尝试将数据从R上传到数据库,我使用包'RJDBC'将R连接到Oracle。连接已设置,我可以将数据从Oracle加载到R.当我尝试使用dbSendStatement()将数据插入Oracle中的表时:

sqlQuery_uploadResult<-function(A,B,C,D,E,F,G,H,I){
  sprintf("INSERT INTO DEMAND_FCAST (A,B,C,D,E,F,G,H,I) VALUES (TO_DATE('%s','DD-MON-YY hh24:mi:ss'),%1.4f,%5.2f,%2.0f,%1.4f,%5.2f,%2.0f,%2.0f)",A,B,C,D,E,F,G,H,I)
}

dbSendStatement(conn,sqlQuery_uploadResult(A,B,C,D,E,F,G,H,I))

我收到错误消息:

Error in .verify.JDBC.result(md, "Unable to retrieve JDBC result set meta data for ",  : 
  Unable to retrieve JDBC result set meta data for INSERT INTO DEMAND_FCAST (A,B,C,D,E,F,G,H,I) VALUES (TO_DATE('17-Oct-16 13:35:45','DD-MON-YY hh24:mi:ss'),0.1160,700,36,0.4037,965,35, 1) in dbSendQuery (ORA-00900: invalid SQL statement
)

但是,我检查了Oracle中的表,我试图插入的记录在表中,有没有人知道为什么会出现这个错误以及如何处理这个?< / p>

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我尝试了dbExecute()dbSendQuery()并遇到了类似的错误。一位同事建议我使用dbSendUpdate()并且执行时没有错误。