我正在使用Java作爲前端和Oracle將需要上傳大型CSV文件(大約6 GB)的桌面應用程序(Extract Transform Load類型的應用程序)後端,但我也開放給其他數據庫和工具(即SQLite,H2,HSQLDB,MySQL)。將CSV文件上傳到數據庫的Java桌面應用程序
我嘗試使用開放源代碼Java庫,用於分析和上傳CSV文件,如:
的問題,這些庫是效率。他們需要太多時間上傳。例如,上傳4 Gb的CSV文件需要6小時。
有了這個經驗,我決定嘗試數據庫實用程序來上傳CSV文件。其中之一是Oracle SQL * Loader。它更快,並提供理想的結果。它可以消除空格,CSV文件加載到各種表格,使用Oracle函數suchs作爲解碼等
不過,我有以下問題:
我無法找到一個辦法讓SQL *加載程序的錯誤/ Java日誌並顯示給用戶。
因爲SQL * Loader是專有的,所以沒有辦法將它嵌入到我的應用程序安裝中。例如,用戶需要在安裝我的應用程序之前單獨下載並安裝Oracle Client。另一件事是我需要檢查在安裝過程開始之前是否安裝了Oracle Client。
我尋找其他可能的解決方案,並找到像SQLite和H2這樣的無頭數據庫。
在SQLite上,我使用.import命令上傳CSV文件。但是我無法用Java來稱呼它。
我轉向H2數據庫,但由於不支持轉義標題行,所以我很難上傳。
請讓我知道您的建議。
謝謝你。
你必須使用SQLite嗎?你不能使用外部表來加載數據嗎?使用外部表格很容易排除頁眉和頁腳。 – Ollie
沒有。我正在創建一個* java *桌面應用程序,它可以儘可能快地將大型.csv *文件加載到本地數據庫,而不管數據庫如何。 – epsac