2015-11-02 36 views
0

我試圖使用OpenCSV將數據導出爲CSV。使用OpenCSV導出結果集數據時更改默認日期格式

數據庫是宇宙Db和CSV生成罰款與「$」作爲分隔符。

但是,當我們嘗試將相同的CSV數據加載到IBM DB2數據庫時,由於IBM DB2不支持此格式,因此它由於日期格式不兼容(即DD-MMM-YYYY)而失敗。

代碼,以生成CSV:

private CSVWriter writer; 
writer = new CSVWriter(new OutputStreamWriter(new FileOutputStream(savePath + "\\" + tableName+ ".csv"),"UTF-8"), '$',CSVWriter.NO_QUOTE_CHARACTER); 
writer.writeAll(rs, false); //rs is the resultset returned for the select query 
writer.flush(); 

我們使用加載負荷DB2s小鬼&命令CSV。

如何在生成CSV時更改默認日期格式?

活動目的: 將數據從Universe數據庫加載到IBM DB2數據庫。

注:宇宙DB不支持更新的結果集,因此該選項並沒有考慮到:)

回答

1

目前在openCSV的主幹構建有變化的ResultSetHelperService允許您設置日期和日期時間格式轉換爲您想要的格式,然後可以在處理結果集之前調用您創建的CSVWriter中的setResultSetHelper。

這些將在未來幾周內推出的3.6版本中發佈(我只是在等待這個版本的主要貢獻者從蜜月回來)。

+0

這必須是一個很酷的功能,我也在等待很長時間.. :) :) 我將如何知道OpenCSV 3.6版本的發佈? –

+0

要麼在sourceforge頁面 - https://sourceforge.net/projects/opencsv/或者你可以檢查maven中央回購 - http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com .opencsv%22%20AND%20a%3A%22opencsv%22我在同一天發佈給兩者。我也嘗試保持維基更新,以便您可以在那裏查看。 https://sourceforge.net/p/opencsv/wiki/What%27s%20new/或https://sourceforge.net/p/opencsv/news/ –

+1

這將是一個很大的幫助,如果你分享一些例子的用法ResultSetHelperService和setResultSetHelper在寫入csv時處理日期的上下文中。 –