Re: setObject(int,Object) can not convert Java String object to backend's Integer type

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
>
>

In response to

Browse pgsql-jdbc by date

  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