Oracle數(shù)據(jù)庫批量數(shù)據(jù)導(dǎo)出工具開發(fā)-創(chuàng)新互聯(lián)

Oracle數(shù)據(jù)庫批量數(shù)據(jù)導(dǎo)出工具開發(fā)

需求

目前成都創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計、遂昌網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

最近工作中遇到一個需求,用戶頻繁要求從后臺批量導(dǎo)出大量數(shù)據(jù)。目前的導(dǎo)出方式是使用PL/SQL Developer工具連接Oracle數(shù)據(jù)庫,編寫SQL語句,使用PL/SQL Developer工具自帶的導(dǎo)出Excel文件的功能進(jìn)行導(dǎo)出。

  1. 編寫SQL查詢結(jié)果

Oracle數(shù)據(jù)庫批量數(shù)據(jù)導(dǎo)出工具開發(fā)

2.選擇導(dǎo)出Excel文件
Oracle數(shù)據(jù)庫批量數(shù)據(jù)導(dǎo)出工具開發(fā)

選擇導(dǎo)出Excel文件時可以選擇導(dǎo)出XLS、XLSX兩種格式的文件。

遇到的問題:
當(dāng)用戶要求導(dǎo)出的數(shù)據(jù)條數(shù)太大,超過XLS或者XLSX兩種文件可以存儲的大行數(shù)時即導(dǎo)出失敗。為解決此問題,特定開發(fā)Oracle數(shù)據(jù)導(dǎo)出工具,用以支持大批量數(shù)據(jù)的導(dǎo)出工作。

XLS文件大行數(shù)是:65536
XLSX文件的大行數(shù)是:1048576

基本構(gòu)想

使用任一編程語言連接數(shù)據(jù)庫并執(zhí)行SQL,將查詢結(jié)果分別寫入Excel文件。

存在兩種實現(xiàn)方案:

  1. 使用Java語言連接數(shù)據(jù)庫,使用POI庫寫Excel文件
  2. 使用C/C++語言開發(fā)桌面程序,使用其他庫寫Excel文件

選擇過程:
考慮到工具會提供公司內(nèi)部其他同事使用,加之對Java做界面不是很了解,故放棄此方案1,采用方案2。選定使用方案2后,著手選擇可使用的庫及相關(guān)技術(shù)。

關(guān)于存儲文件的選擇
直接寫Excel文件:寫Excel文件時,使用LibXl庫,當(dāng)數(shù)據(jù)量比較大的時候,會出現(xiàn)存盤失敗的情況,此種情況下只能減少寫入Excel文件的行數(shù)。如果查詢結(jié)果的字段很多,長度很長的情況下,此種方案可保存的數(shù)據(jù)條數(shù)更少。

寫Txt文件:
寫Csv文件:
寫Txt文件和寫Csv文件類似。區(qū)別在于寫Txt文件的時候,使用"\t"分隔不同的字段,而寫Csv格式時,使用","(逗號)進(jìn)行分隔。
另外,在寫Csv和Txt格式的文件時,由于用戶可通過Excel打開則如果是數(shù)字,并且以0開頭的話,需要添加'號以標(biāo)識此字段為文本。

其他內(nèi)容
選擇Duilib UI庫,沒有選擇MFC
選擇OCILib訪問和操作數(shù)據(jù)庫(希望可以專門寫一遍筆記記錄該庫的使用方法)
使用LibXl庫寫Excel文件

操作流程

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁題目:Oracle數(shù)據(jù)庫批量數(shù)據(jù)導(dǎo)出工具開發(fā)-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article34/ddcope.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、虛擬主機(jī)商城網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、域名注冊、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站