如何使用RJDBC包将数据帧从R插入DB2。
我尝试了多种方式,但大多数都失败了。
目前的方法:
使用paste
将df转换为查询。
然后使用dbExecute(conn,req[1])
获取以下错误
([jcc][10103][10941][4.15.134] Method executeQuery cannot be used for update. ERRORCODE=-4476, SQLSTATE=null)
是否需要修复此错误或需要示例代码才能将数据框插入DB2
示例代码:
library(JODBC)
jcc = JDBC("com.ibm.db2.jcc.DB2Driver",
"C:/Program/Files/IBM/db2jcc4.jar")
#Connection String
conn = dbConnect(jcc,"jdbc:db2://xx.xxx.xxx.xx:xxxxxx/TESTDB","TESTUsser","XXXXXXX")
req <- paste("INSERT INTO TESTDB1.test (Inc_Number,Group,Resolved_TIME,Submit_Date,PROCESS_DATE) VALUES ('",df$Inc_Number,"','",df$Group,"','",df$Resolved_TIME,"','",df$Submit_Date,"',DEFAULT)",sep="")
lapply(req, function(x) dbExecute(conn, x))
PROCESS_DATE
是sys.date
示例数据:
INCNO1 Group1 4/10/2017 13:48 4/10/2017 13:48
INCNO2 Group1 4/10/2017 13:43 4/10/2017 13:30
INCNO3 Group2 4/10/2017 14:26 4/10/2017 14:26
INCNO4 Group2 4/10/2017 13:31 4/10/2017 13:31
INCNO5 Group2 4/10/2017 13:33 4/10/2017 13:33
INCNO6 Group3 4/10/2017 13:11 4/10/2017 13:11
得到上述错误。