2015-11-02 133 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时处理日期的上下文中。 –