2013-12-13 9 views
0

У вас возникли проблемы с отправкой таблицы оракула в файл csv. Проблема находится на дамке Я получаю дату как «23-июня-2009» с текущим кодом, но мне нужно что-то вроде «2009-06-23 20:18:44». я получаю правильную дату даты, если поместить кодdump таблица оракула к csv. date

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" для этого кода на работу.