From: | Chen Huajun <chenhj(at)cn(dot)fujitsu(dot)com> |
---|---|
To: | Dave Cramer <pg(at)fastcrypt(dot)com> |
Cc: | List <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: setObject(int,Object) can not convert Java String object to backend's Integer type |
Date: | 2013-01-08 11:59:55 |
Message-ID: | 50EC0A3B.8000601@cn.fujitsu.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Dave
> This link http://docs.oracle.com/javase/1.3/docs/guide/jdbc/getstart/mapping.html should clarify things. The mapping is actually String to char, varchar, or longvarchar.
oh,I could not find so detailed description in my JDBC 4.0 Specification(a pdf file).
And mistaked the setObject(int,Object,int) and setObject(int,Object).
BTW:
In Oracle,the conversion seem be OK (my test was String -> NUMERIC).
That's why i pay attention to this problem.
Thanks!
Regards,
Chen Huajun
(2013/01/08 19:15), Dave Cramer wrote:
> Chen,
>
> This link http://docs.oracle.com/javase/1.3/docs/guide/jdbc/getstart/mapping.html should clarify things. The mapping is actually String to char, varchar, or longvarchar.
>
> Dave
>
> Dave Cramer
>
> dave.cramer(at)credativ(dot)ca
> http://www.credativ.ca
>
>
> On Tue, Jan 8, 2013 at 6:04 AM, Chen Huajun <chenhj(at)cn(dot)fujitsu(dot)com <mailto:chenhj(at)cn(dot)fujitsu(dot)com>> wrote:
>
> Hi,
>
> According to JDBC Specification Java String object could be converted to
> backend's Integer type by setObject().
> But in PostgreSQL JDBC, it's not true. It seems to be a bug.
>
> Sample:
> PreparedStatement stmt = con.prepareStatement("select 1::int = ?");
> stmt.setObject(1, "2");
> ResultSet rs = stmt.executeQuery();//raises an error here!
>
> *)but the following is OK
> stmt.setObject(1, "2",Types.INTEGER);
> stmt.setObject(1, "2",Types.OTHER);
>
>
> Internally stmt.setObject(1, "2") binds "2" as varchar ,
> if it binds "2" as unspecified type,the result will be OK.
>
>
>
> Regards,
> Chen Huajun
>
>
>
>
> --
> Sent via pgsql-jdbc mailing list (pgsql-jdbc(at)postgresql(dot)org <mailto:pgsql-jdbc(at)postgresql(dot)org>)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-jdbc
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2013-01-08 16:43:48 | Re: Bug report: buggy implementation of setQueryTimeout() in latest JDBC drivers 9.2-100x (AbstractJdbc2Statement.java) |
Previous Message | Dave Cramer | 2013-01-08 11:15:24 | Re: setObject(int,Object) can not convert Java String object to backend's Integer type |