Java 将oracle表转储到csv。日期转换
将oracle表转储到csv文件时出现问题。 问题在于日期倾销 我现在的代码是2009年6月23日,但我需要2009-06-23 20:18:44。 我得到了正确的日期,如果把代码Java 将oracle表转储到csv。日期转换,java,opencsv,ojdbc,Java,Opencsv,Ojdbc,将oracle表转储到csv文件时出现问题。 问题在于日期倾销 我现在的代码是2009年6月23日,但我需要2009-06-23 20:18:44。 我得到了正确的日期,如果把代码 while(result.next()) { System.out.println(result.getString("D_FORM")); } 我不明白日期是如何转换的,在哪里转换的 我的代码是 package com.my.table2csv; import java.io.FileWriter; im
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();
}
}
有关解释,请参见 我通过添加
-Doracle.jdbc.V8Compatible="true"
在我的java命令行上
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);
}
}
}
您将需要oracle-jdbc.jar和opencsv.jar来运行此代码