Arrays and setObject problem - Mailing list pgsql-jdbc

From Rafał Staniszewski
Subject Arrays and setObject problem
Date
Msg-id 40E54A47.1020207@o2.pl
Whole thread Raw
List pgsql-jdbc
Hi all,

During development of my web application I found a problem I can't handle.
I have a relation:

CREATE TABLE public.test
(
   id int4,
   tab varchar[]
) WITHOUT OIDS;

Using jdbc and prepared statement I'm trying to put data into this table:

public add(Connection conn,int id,Vector v) {

PreparedStatement pstmt = conn.prepareStatement("insert into
test(id,tab) values(?,?)");
pstmt.setInt(1,id);
pstmt.setObject(2,v.toArray());
pstmt.executeUpdate();
pstmt.close();
}

When I run this I get:
e.getErrorCode() -> 0
e.getMessage() -> ERROR: missing dimension value
e.getSQLState() -> 22P02

I tried to change 'pstmt.setObject(2,v.toArray());' with:

String[] att = new String[v.size()];
for(int i=0;i<v.size();i++) {
    att[i] = v.get(i).toString();
    // and also with
    // att[i] = (String)v.get(i)
}
pstmt.setObject(2,att);

but still the same error occurred.

I'm using:
postegresql: 7.4.2
jdbc driver: pg74.213.jdbc3.jar

Thanks in advance for help.

Rafal Staniszewski

pgsql-jdbc by date:

Previous
From: Kris Jurka
Date:
Subject: Re: Issue with now() within a transaction in pg74.213.jdbc.jar
Next
From: Steven Bell
Date:
Subject: Listing Database