Я использую opencsv для извлечения данных из базы данных Oracle в результирующий набор, а затем в CSV.Я получаю результаты, но созданный CSV пуст?Вывод: Oracle JDBC Драйвер зарегистрирован!Вы сделали это, возьмите под контроль свою базу данных сейчас!216 18 160 18 480 18 384 18
package com.mkyong;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import java.io.*;
import java.io.IOException;
import java.sql.*;
import java.util.Scanner;
import com.opencsv.*;
public class OracleJDBCExample {
public static void main(String[] argv) throws IOException {
System.out.println("-------- Oracle JDBC Connection Testing ------");
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your Oracle JDBC Driver?");
e.printStackTrace();
return;
}
System.out.println("Oracle JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@//xyz.com:1521/xx", "USERNAME", "PWD");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return;
}
if (connection != null) {
System.out.println("You made it, take control your database now!");
//step3 create the statement object
Statement stmt;
try {
stmt = connection.createStatement();
//step4 execute query
CSVWriter writer = new CSVWriter(new FileWriter("yourfile.csv"));
ResultSet rs=stmt.executeQuery("select unitsperpallet,defaultuom from tab where rownum < 5");
while(rs.next())
{
System.out.println(rs.getInt(1) + " "+rs.getInt(2));
}
//set myResultSet to the results of your query here
writer.writeAll(rs, true);
writer.flush();
writer.close();
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
System.out.println("Failed to make connection!");
}
}
}