我试图将数据从R上传到数据库,我使用包'RJDBC‘连接R到Oracle。当我尝试使用dbSendStatement()将数据插入到Oracle的表中时,连接已经建立,并且我能够从Oracle加载数据到R。
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中检查了表,我试图插入的记录在表中,有没有人知道为什么会出现这个错误,以及如何处理这个错误?
发布于 2016-11-09 17:07:27
我也有同样的问题。我尝试了dbExecute()和dbSendQuery(),得到了一个类似的错误。一位同事建议我使用dbSendUpdate(),并且它没有错误地执行。
https://stackoverflow.com/questions/40088811
复制相似问题