Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: strange results from JDBC query
Dave,
> Here's one for you experts:
>
> I have a 9i release 2 db set up, to which I connect via the JDBC thin
> driver. I have a JavaServer Pages application that needs to read a VARRAY
> from a table and then use the contents of the VARRAY. Here's the code in
> the JSP that does that:
>
> resultset=db.executeQuery
> ("SELECT IMAGE_lIST FROM PAGE_IMAGE_ARRAY WHERE PAGENAME = " +
> pagename);
>
> oracle.sql.ARRAY array =
> ((oracle.jdbc.driver.OracleResultSet)resultset).getARRAY(1);
> imageList = (String[])array.getArray();
> for(int count=0; count<imageList.length; count++)
> {
> out.println("<p>The image at position " + count + " in the array is
> the image titled: " + imageList[count]);
> }
>
> The JSP compiles and runs fine, but the output is as follows:
>
> The image at position 0 in the array is the image titled: 0x7465737431
> The image at position 1 in the array is the image titled: 0x7465737432
>
> The image at position 2 in the array is the image titled: 0x7465737433
>
> The image at position 3 in the array is the image titled: 0x7465737436
>
We've recently seen this kind of odd behaviour. It occurs with Arrays, Eclipse and the 9i driver. Are you by any chance using Eclipse 3.0? What underlying JVM is in use? What's odd is that the same code and driver runs fine outside Eclipse.
FYI It went away when we started to use the 10g JDBC driver.
David Rolfe
Orinda Software
Dublin, Ireland
www.orindasoft.com