我正在開發一個測試套件,需要我從Oracle數據庫中提取數據。我使用的是已經寫好的查詢,因爲它比設置所有activerecord對象更容易。我沒有使用rails,而是使用gem activerecord 3.2.6。爲什麼ActiveRecord :: Base.execute_query會在第20行之後停止返回所有結果?
我發現突然返回的14列數據中,從第21行開始,其中只有12列實際上有數據。在Oracle SQL Developer中使用時,此查詢會返回超過20行的完整數據,因此我知道這不是查詢。
難道是我需要給它更多的時間來完成返回所有的數據?這看起來不太可能,因爲它總是第21行首先出現問題。這是否是一個問題,因爲一些數據可能是NULL,並且一旦發現第一個NULL主動記錄被鎖定?
我真的不知道該怎麼做,我唯一能想到的就是嘗試安裝不同版本的activerecord,並希望其中一個能正常工作。
那麼,如果我重寫查詢,以便它重新排序數據並運行到一個NULL值,直接關閉然後沒有任何數據在最後兩列。 – 2012-07-24 19:24:00
@ChrisAtkinson,嗯......我試圖說給你的查詢一組不同的測試數據(而不是僅僅重寫查詢重新排序)第21行之前發生NULL數據,因爲這是NULL出現在原始測試數據集。那麼,如果你得到14個完整的數據列,即使第8行有一些空值,那麼你就會知道這不是事實,即查詢命中了導致問題的NULL值。第21行還有你的查詢還有其他內容。我想這個想法是排除可能性。 – 2012-07-24 22:02:40