2013-06-28 57 views
4

我運行以下代碼塊8次,但在三個不同的R腳本中使用不同的查詢。我已經建立了與服務器的連接。在RMySQL上執行多個查詢時出現連接錯誤

rs<-dbSendQuery(con,"select owner_name, owner_domain, count(*) as avg from kapsule, 
recview_history where recview_history.vsrc='em' and 
recview_history.g_conf_id=kapsule.g_conf_id group by owner_name;") 

d<-fetch(rs, n=0) 
d$test<-apply(d,1,function(row) 1) 
dp<-ddply(d, .(test), transform, percentile=ecdf(avg)(avg)) 
write.csv(dp, file="/tmp/creator_data/embeds.csv") 
rm(rs) 
rm(d) 
rm(dp) 

餘米的一個非常大的數據集和前兩個CSV的在每個腳本創建之後,因此運行此,該腳本提供了以下錯誤。

Error in mysqlExecStatement(conn, statement, ...) : 
RS-DBI driver: (connection with pending rows, close resultSet before continuing) 

,當我跑了三個腳本早些時候在一個較小的數據集,他們工作得很好。問題是由於MySQL服務器中數據的大小所致?任何有關這方面的幫助將適當讚賞。先謝謝你。

+0

你從來沒有接近'rs'用'dbClearResult' – hadley

+0

我糾正我的錯誤。 dbGetQuery的工作比dbSendQuery好得多 –

+0

這仍然是一個持續的問題?從我處理大數據的經驗。您必須將超時設置爲0.或者無限。連接自動關閉的超時時間。希望這可以幫助 –

回答

0

(時指出,該註釋具有分辨率從「未答覆」中刪除。)

相關問題