比較R中的基本SAS和RODBC以訪問ORACLE SQl數據庫。使用RODBC丟棄數千個觀測值
我想訪問一個ORACLE SQL數據庫。如果我運行這個在SAS與此代碼:
LIBNAME LIBNAME ORACLE SCHEMA=SCHEMA PATH="*****";
PROC SQL ;
CREATE TABLE work.eval_view AS
SELECT *
FROM LIBNAME.VW_EVALUATION
ORDER BY ***** ;
QUIT;
如果我運行這段代碼,我得到153777組的意見,這正是我所期望的。
然後我想在R中運行此代碼。我正在使用RODBC庫。這是我運行的代碼:
connect <- odbcConnect(dsn='****', rows_at_time =1, believeNRows=FALSE)
evaluation <- sqlQuery(connect, "SELECT * FROM ****.vw_evaluation")
但是我得到了4239個觀測值。進來的實際觀測結果與SAS進行的觀測結果相同,只是大部分觀測結果缺失。
如果我改變rows_at_time
輸入,我改變了我得到的觀測量。 100
一次得到我10219個觀測值,110
每次得到我的觀測值較少,只有10120個觀測值。
有沒有人有任何建議如何解決這個問題?似乎其他線程中的人建議更改rows_at_time,但這對我來說效果不佳。
你的桌子有多寬,你有很大的文本字段?這會影響內存分配。嘗試選擇幾列。考慮在'sqlQuery()'(這兩者的包裝)上使用'odbcQuery()'和'sqlGetResults()'。玩像* believeNRows *和* max = 0 *的參數。即使在查詢調用中嘗試使用sqlTable()。請參閱[RODBC文檔]的第18頁(https://cran.r-project.org/web/packages/RODBC/RODBC.pdf)。 – Parfait
大文本字段是罪魁禍首,非常感謝。 – dncrwlye