Java 结果集转换为CSV?
我正在使用opencsv库将oracle数据转储到csv文件中 我正在使用以下代码:Java 结果集转换为CSV?,java,Java,我正在使用opencsv库将oracle数据转储到csv文件中 我正在使用以下代码: private void generateCSVFile() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@localhost:1521:XE"; Connection con = DriverManager.ge
private void generateCSVFile() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:XE";
Connection con = DriverManager.getConnection(url, "system", "admin");
PreparedStatement ps = con.prepareStatement("select * from T_USER_DETAILS",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE,ResultSet.HOLD_CURSORS_OVER_COMMIT);
ResultSet rs = ps.executeQuery();
if(rs.next()){
System.out.println("Name = "+rs.getString(2));
}
rs.beforeFirst();
CSVWriter writer = new CSVWriter(new FileWriter("Test.csv"),'\t');
writer.writeAll(rs, true);
JOptionPane.showMessageDialog(null, "CSV Created!","Success!",JOptionPane.INFORMATION_MESSAGE);
} catch (Exception ex) {
Logger.getLogger(BackupDB.class.getName()).log(Level.SEVERE, null, ex);
}
}
但是,当我执行这个代码时。已创建csv文件,但该文件中没有内容。(注意结果集在控制台中打印2列值)
提前感谢。您可以尝试以下几种方法:
列表
,尝试一下。如果有效,则意味着结果集存在问题你关上作家了吗?像writer.close()一样;您已经在迭代结果集以打印它,一些驱动程序不支持滚动。删除
if(rs.next()){..}
。谢谢,我的代码正常工作,我错过了writer.close()。现在好了。