2013-12-13 68 views
0

將oracle錶轉儲到csv文件時出現問題。 問題是日期傾銷 我用當前代碼得到「2009年6月23日」這樣的日期,但我需要像「2009-06-23 20:18:44」之類的日期。 我得到正確的日期爲止,如果把代碼將oracle錶轉儲到csv。日期轉換

while(result.next()) { 
    System.out.println(result.getString("D_FORM")); 
} 

我無法理解日期如何以及在何處轉換 我的代碼是

package com.my.table2csv; 

import java.io.FileWriter; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.Reader; 
import java.math.BigDecimal; 
import java.net.URL; 
import java.sql.*; 
import java.util.Calendar; 
import java.util.Map; 


import au.com.bytecode.opencsv.CSVWriter; 

public class Main { 

    public static void main(String[] args) throws IOException, SQLException { 

     String host = ""; 
     String user = ""; 
     String password = ""; 
     String db = ""; 
     String table = ""; 
     String file = ""; 

     Connection conn = null; 

     for(int i=0; i < args.length; i++) { 

      if (args[i].equals("-h")) { 
       host = args[++i]; 
      } 

      if (args[i].equals("-u")) { 
       user = args[++i]; 
      } 

      if (args[i].equals("-p")) { 
       password = args[++i]; 
      } 

      if (args[i].equals("-d")) { 
       db = args[++i]; 
      } 

      if (args[i].equals("-t")) { 
       table = args[++i]; 
      } 

      if (args[i].equals("-f")) { 
       file = args[++i]; 
      } 
     } 

     DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
     conn = DriverManager.getConnection("jdbc:oracle:thin:@"+host+":1521:"+db, user, password); 
     conn.setAutoCommit(true); 

     String queryStr = "SELECT * FROM " + table; 

     PreparedStatement preStatementS = conn.prepareStatement(queryStr); 

     ResultSet result = preStatementS.executeQuery(); 

     //while(result.next()) { 
     // System.out.println(result.getString("D_FORM")); 
     //} 

     CSVWriter writer = new CSVWriter(new FileWriter(file), ','); 
     writer.writeAll(result, `enter code here`false); 
     writer.close(); 
    } 
} 

回答

-1
import java.sql.*; 
import java.io.*; 
import au.com.bytecode.opencsv.CSVWriter; 

public class TableExport { 
public static void main(String[] args) { 
    // TODO code application logic here 
    try{ 
     DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
     Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","name/id","password"); 
     conn.setAutoCommit(false); 
     Statement statement = conn.createStatement(); 
     ResultSet resultData = statement.executeQuery("select * from table"); 

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

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

需要有 「甲骨文了jdbc.jar」 和 「opencsv.jar」 此代碼工作。