ResultSet.getString(Datum) unterscheidet sich basierend auf die Treiber

Bin ich mit dem "Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit-Produktion Mit der Partitionierung, OLAP, Data Mining and Real Application Testing options"

Ich habe eine Tabelle, deren schema ist

COLUMN_NAME     DATA_TYPE   DATA_TYPE_MOD   DATA_TYPE_OWNER    DATA_LENGTH
CITY            VARCHAR2    (null)              (null)          30
COUNTRY         VARCHAR2    (null)              (null)          30
DATE_TYPE       DATE        (null)              (null)           7
PARTNO          NUMBER      (null)              (null)          22
STATE           VARCHAR2    (null)              (null)          30
ZIP             VARCHAR2    (null)              (null)          30

Ich geschrieben habe ein einfaches java-client zum abrufen der DATE_TYPE.

 public class DateIssue {  
  private void testDateOutput() {  
       Connection con = null;  
       Statement psmt = null;  
       try {  
            con = getConnection();  
            con.setAutoCommit(true);     
            psmt = con.createStatement();  
            String sql = "SELECT DATE_TYPE FROM EMP";  
            ResultSet rs = psmt.executeQuery(sql);  
            while (rs.next()) {  
                 String dateString = rs.getString(1);  
                 System.out.println("As String :"+ dateString);  
            }  
            con.close();  
       }  
       catch (SQLException e) {  
            e.printStackTrace();  
       }  
  }  
  private static Connection getConnection() {  
       Connection connection = null;  
       try {  
            Class.forName("oracle.jdbc.pool.OracleDataSource");  
            java.util.Properties info = new java.util.Properties();  
            info.put("user", "myuser");  
            info.put("password", "mypass");  
            info.put("oracle.jdbc.mapDateToTimestamp", "false");  
       connection = DriverManager.getConnection("jdbc:oracle:thin:@myserver:1521:myservicename", info);  
       }  
       catch (ClassNotFoundException e) {  
            e.printStackTrace();  
       } catch (SQLException e) {  
            e.printStackTrace();  
       }  
       return connection;  
  }  
   public static void main(String rgs[]) throws Exception {  
       DateIssue di = new DateIssue();  
       di.testDateOutput();  
       System.out.println("----------------------------------------------------");  
  }  

Mit ojdbc6.jar(12.1.0.1.0) Ausgabe : As String :2013-11-12

Mit ojdbc6.jar(11.2.0.2.0) Ausgabe : As String :2013-11-12 11:10:09

Java-version : 1.7

Warum die änderungen im Verhalten ojdbc6.jar(12.1.0.1.0) ?
Wenn ich die Ausgabe in das format 2013-11-12 11:10:09 mit ojdbc6.jar(12.1.0.1.0) was soll ich tun?

InformationsquelleAutor Muruga | 2013-11-07
Schreibe einen Kommentar