我正在尝试将数据从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>
答案 0 :(得分:1)
我遇到了同样的问题。我尝试了dbExecute()
和dbSendQuery()
并遇到了类似的错误。一位同事建议我使用dbSendUpdate()
并且执行时没有错误。