Oracle資料庫批量資料匯出工具開發

來源:互聯網
上載者:User

標籤:Oracle   匯出   工具   批量   

Oracle資料庫批量資料匯出工具開發

需求

最近工作中遇到一個需求,使用者頻繁要求從後台大量匯出大量資料。目前的匯出方式是使用PL/SQL Developer工具串連Oracle資料庫,編寫SQL語句,使用PL/SQL Developer工具內建的匯出Excel檔案的功能進行匯出。

  1. 編寫SQL查詢結果

2.選擇匯出Excel檔案

選擇匯出Excel檔案時可以選擇匯出XLS、XLSX兩種格式的檔案。

遇到的問題:
當使用者要求匯出的資料條數太大,超過XLS或者XLSX兩種檔案可以儲存的最大行數時即匯出失敗。為解決此問題,特定開發Oracle資料匯出工具,用以支援大批量資料的匯出工作。

XLS檔案最大行數是:65536
XLSX檔案的最大行數是:1048576

基本構想

使用任一程式設計語言串連資料庫並執行SQL,將查詢結果分別寫入Excel檔案。

存在兩種實現方案:

  1. 使用Java語言串連資料庫,使用POI庫寫Excel檔案
  2. 使用C/C++語言開發傳統型程式,使用其他庫寫Excel檔案

選擇過程:
考慮到工具會提供公司內部其他同事使用,加之對Java做介面不是很瞭解,故放棄此方案1,採用方案2。選定使用方式情節2後,著手選擇可使用的庫及相關技術。

關於隱藏檔的選擇
直接寫Excel檔案:寫Excel檔案時,使用LibXl庫,當資料量比較大的時候,會出現存檔失敗的情況,此種情況下只能減少寫入Excel檔案的行數。如果查詢結果的欄位很多,長度很長的情況下,此種方案可儲存的資料條數更少。

寫Txt檔案:
寫Csv檔案:
寫Txt檔案和寫Csv檔案類似。區別在於寫Txt檔案的時候,使用"\t"分隔不同的欄位,而寫Csv格式時,使用","(逗號)進行分隔。
另外,在寫Csv和Txt格式的檔案時,由於使用者可通過Excel開啟則如果是數字,並且以0開頭的話,需要添加‘號以標識此欄位為文本。

其他內容
選擇Duilib UI庫,沒有選擇MFC
選擇OCILib訪問和操作資料庫(希望可以專門寫一遍筆記記錄該庫的使用方法)
使用LibXl庫寫Excel檔案

操作流程

Oracle資料庫批量資料匯出工具開發

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.