From: | Alexander Panzhin <jalexoids(at)gmail(dot)com> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Passing Array from Java to Postgres |
Date: | 2008-11-04 16:38:21 |
Message-ID: | 49107A7D.3050206@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Tried it on PostgreSQL 8.2, PL/pgSQL function.
Array sqlArray = cn.createArrayOf("int4", new Integer[] { 47,46 });
CallableStatement cstmt = cn.prepareCall("{? = call testit(?)}");
cstmt.registerOutParameter(1, Types.INTEGER);
try {
cstmt.setArray(2, sqlArray);
} catch (Exception e) {
e.printStackTrace();
}
cstmt.execute();
int result = cstmt.getInt(1);
System.out.println("Result: "+result);
CREATE FUNCTION testit(number integer[]) RETURNS integer
AS $$BEGIN
RETURN number[1];
END;$$
LANGUAGE plpgsql;
Got: "Result: 47"
> Hi,
> I need to pass array from Java to postgres DB.Tried the following
> code given in net,but it doesnt work,please help me to solve this.
>
> Getting no exceptions but program execution skips when it reaches
> the following code
> cstmt.setArray(2, connection.createArrayOf("int4", intarr ));
>
> I have also copied the following code for reference,
>
> DBConnection dbconn=new DBConnection();
> Connection connection=dbconn.getDBConnection();
> CallableStatement cstmt = connection.prepareCall("{?=
> call testit(?)}");
> cstmt.registerOutParameter(1, Types.INTEGER);
> try{
> cstmt.setArray(2, connection.createArrayOf("int4",
> intarr ));
> }catch(Exception e) {
> e.printStackTrace();
> }
> cstmt.execute();
> result = cstmt.getInt(1);
>
> Regards,
> Latha S
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | gcj | 2008-11-04 21:49:46 | Re: Retrieve auto-generated key. |
Previous Message | Albe Laurenz | 2008-11-04 16:01:56 | Re: JNDI Datasource in tomcat |