Обсуждение: Postgres JDBC driver : problem with timestamps.

Поиск
Список
Период
Сортировка

Postgres JDBC driver : problem with timestamps.

От
Vincent Trussart
Дата:
Using the JDBC drivers (for 1.2) from the postgresql-7.0.2 rpm
distribution
I cannot read back a timestamp value I just inserted in a column (column
type "timestamp")
with the same application.  This little java code fails :

---------------------------
import java.sql.*;

public class test {
   public static void main(String[] args) throws Exception {
       Class.forName("org.postgresql.Driver").newInstance();       Connection conn =
DriverManager.getConnection("jdbc:postgresql://localhost/test", "test",
"");       PreparedStatement stmt = conn.prepareStatement("insert into test
values (?)");       stmt.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
       stmt.executeUpdate();
       Statement reader = conn.createStatement();       ResultSet rs = reader.executeQuery("select * from test");
while(rs.next()){           System.out.println(rs.getTimestamp(1));       }   }
 
}




Running this code gives :

Exception in thread "main" Bad Timestamp Format at 19 in 2000-06-14
14:32:40.46-04at org.postgresql.jdbc2.ResultSet.getTimestamp(ResultSet.java:447)at test.main(test.java:18)



Any idea?



--
Vincent Trussart
trussarv@cirano.umontreal.ca
Cirano
Québec





Re: Postgres JDBC driver : problem with timestamps.

От
Jim Caley
Дата:
Hi Vincent,

We had a discussion on this very issue on this mailing list last week. 
If you go to
http://www.postgresql.org/mhonarc/pgsql-interfaces/2000-06/threads.html
and search the page for "Timestamps" you'll see the thread.  The first
message in the thread includes a patch that's been working for me.

HTH

Regards,
Jim
--

Vincent Trussart wrote:
> 
> Using the JDBC drivers (for 1.2) from the postgresql-7.0.2 rpm
> distribution
> I cannot read back a timestamp value I just inserted in a column (column
> type "timestamp")
> with the same application.  This little java code fails :
> 
> ---------------------------
> import java.sql.*;
> 
> public class test {
> 
>     public static void main(String[] args) throws Exception {
> 
>         Class.forName("org.postgresql.Driver").newInstance();
>         Connection conn =
> DriverManager.getConnection("jdbc:postgresql://localhost/test", "test",
> "");
>         PreparedStatement stmt = conn.prepareStatement("insert into test
> values (?)");
>         stmt.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
> 
>         stmt.executeUpdate();
> 
>         Statement reader = conn.createStatement();
>         ResultSet rs = reader.executeQuery("select * from test");
>         while (rs.next()){
>             System.out.println(rs.getTimestamp(1));
>         }
>     }
> }
> 
> Running this code gives :
> 
> Exception in thread "main" Bad Timestamp Format at 19 in 2000-06-14
> 14:32:40.46-04
>  at org.postgresql.jdbc2.ResultSet.getTimestamp(ResultSet.java:447)
>  at test.main(test.java:18)
> 
> Any idea?
> 
> --
> Vincent Trussart
> trussarv@cirano.umontreal.ca
> Cirano
> Québec


RE: Postgres JDBC driver : problem with timestamps.

От
Peter Mount
Дата:
This was fixed a couple of weeks ago...

--
Peter Mount
Enterprise Support
Maidstone Borough Council
Any views stated are my own, and not those of Maidstone Borough Council


-----Original Message-----
From: Vincent Trussart [mailto:trussarv@CIRANO.UMontreal.CA]
Sent: Wednesday, June 14, 2000 7:42 PM
To: petermount@it.maidstone.gov.uk; pgsql-interfaces@postgresql.org
Subject: [INTERFACES] Postgres JDBC driver : problem with timestamps.


Using the JDBC drivers (for 1.2) from the postgresql-7.0.2 rpm
distribution
I cannot read back a timestamp value I just inserted in a column (column
type "timestamp")
with the same application.  This little java code fails :

---------------------------
import java.sql.*;

public class test {
   public static void main(String[] args) throws Exception {
       Class.forName("org.postgresql.Driver").newInstance();       Connection conn =
DriverManager.getConnection("jdbc:postgresql://localhost/test", "test",
"");       PreparedStatement stmt = conn.prepareStatement("insert into test
values (?)");       stmt.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
       stmt.executeUpdate();
       Statement reader = conn.createStatement();       ResultSet rs = reader.executeQuery("select * from test");
while(rs.next()){           System.out.println(rs.getTimestamp(1));       }   }
 
}




Running this code gives :

Exception in thread "main" Bad Timestamp Format at 19 in 2000-06-14
14:32:40.46-04at org.postgresql.jdbc2.ResultSet.getTimestamp(ResultSet.java:447)at test.main(test.java:18)



Any idea?



--
Vincent Trussart
trussarv@cirano.umontreal.ca
Cirano
Québec