我需要查詢一個數據庫並保存超過600萬條記錄,以便以後使用excel VBA進行分析和報告。
我希望分析將在這些記錄的SUBSET上完成,因爲即使使用Excel 2010,您也只能限制爲1,048,576行。
我需要以後能夠訪問數據,分析並生成報告的分析數據(我應該能夠本地訪問在我的系統整體的數據,應該能夠處理它快)有多好如果記錄數量達到數百萬,MS是否可以保存數據?
它會這樣做。我已經完成了它的工作(包括很多年前,通過直接連接到Oracle數據庫),儘管小包中的小丑是有多少列作爲提及的評論之一。使用海量數據集時,在Access中2GB文件大小限制開始變得非常容易。
「快」是另一回事。由於(其中包括)我在大數據量工作時認爲速度慢得無法接受,因此我基本上停止了與Access的合作。無論名字「JET」來自哪裏[1],它都確定,因爲哈迪斯並不是它的速度的隱喻。
Access的一個優點是,它可以讓你非常容易地(如果不是很快)生成Excel風格的分析報告(包括一些圖形報告),並且還允許您在創建它們時使用VBA。另一方面,SQL Server是我的數據計算器,它的速度要快得多,但幾乎沒有任何前端。可能理想的情況是(也可以提及)使用Access或Excel來執行前端操作,並且SQL Server執行繁重的任務,除非在本地保存數據,否則您可以在Oracle中執行該操作,那麼只需讓Excel/VBA就您直接從Oracle提取的彙總查詢創建報告。
如果報告運行到數百萬行但實際上沒有運行那麼長的報告將會是有價值的,我會迴避使用Excel。這是一個數據轉儲,而不是一個報告。
[1]是的,是的,我知道聯發科技。
我建議你看看SQL Server Express。一百萬不多說,一個領域(專欄)的一百萬是一回事,一百萬有50個領域是另一回事。您應該能夠直接連接到Excel。 – Fionnuala
六百多萬,我不會推薦excel vba。我認爲極限是excel中的百萬記錄 –
試試這個:http://www.dba-oracle.com/art_ext_tabs_spreadsheet.htm。或者,你可以嘗試如下所示:http://www.codeproject.com/Articles/25881/Bulk-Insert-using-ODP-NET - 從c#移植到vba不應該太痛苦 - 可悲的是我不會沒有oracle數據庫來測試。 – JohnLBevan