有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java writer。writeAll(rs,true)创建一个空文件

我使用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!");
        }
    }

}

共 (0) 个答案