1

エラーはスローされません。正確なパスを指定すると機能しますが、単に「output.csv」と言うだけでは機能しません

ResultSet rs = statement.executeQuery("select * from geninfo");
                try {
                    CSVWriter writer = new CSVWriter(new FileWriter(new File("output.csv")));
                    writer.writeAll(rs, true);
                    writer.flush();
                    writer.close();
                } catch (IOException ex) {
                    Logger.getLogger(SQLite.class.getName()).log(Level.SEVERE, null, ex);
                }
4

2 に答える 2

0

これは完全な解決策です。これはクエリを実行し、結果セットを出力 csv ファイルに送信します。

import java.sql.*;
import java.io.IOException;
import java.io.FileWriter;    
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import au.com.bytecode.opencsv.CSVWriter;

public class TableExport {
public static void main(String[] args) {

    try{
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","name","password");
    conn.setAutoCommit(false);
    Statement statement = conn.createStatement();
    ResultSet resultData = statement.executeQuery("select * from your_table");

                CSVWriter writer = new CSVWriter(new FileWriter(new File("D:/Uploads/Output5.csv")), '|');
                writer.writeAll(resultData, true);
                writer.close();

}catch (Exception e){
        System.out.println("Error" +e);
   }

  }
}

このコードが気に入った場合、または目的に役立つ場合は、コメントをください.....

于 2015-04-14T17:54:12.243 に答える