0
我正在使用RODBC將數據幀插入到oracle表中。我在表上設置了主鍵,如果有重複的數據框出現,oracle會拒絕它。爲了確保我不會丟失任何數據,首先我嘗試插入整個數據框,如果有錯誤,我會嘗試一次插入每條記錄。但是,當我一次嘗試插入每條記錄時,完成時間很長。我很好奇,有沒有人做過這樣的工作,這個方法是什麼。我的代碼如下:使用rodbc提高在R中將數據幀插入到oracle表的速度
tryCatch({
ch=odbcConnect("<id>",pwd = "<password>")
sqlSave(ch,dat, tablename="<tablename>", rownames=FALSE, append=TRUE)
},error = function(e)
{
print("unable to insert the data frame, will try by each row")
ch=odbcConnect("<id>",pwd = "<password>")
for (k in 1:nrow(dat))
{
j<-dat[k,]
tryCatch({
sqlSave(ch,j, tablename="<tablename>", rownames=FALSE, append=TRUE)
},error = function(e) {
print("unable to insert, duplicate values")
})
}
odbcClose(ch)
})
odbcClose(ch)
謝謝你的提示。我做到了,但仍需要很長時間。我修改了原來的帖子。 – user1471980 2013-04-29 13:46:41