Skip site navigation (1) Skip section navigation (2)

Error when attempting to call Connection.createArrayOf() method

From: Allan Kamau <kamauallan(at)gmail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Error when attempting to call Connection.createArrayOf() method
Date: 2009-12-16 09:47:15
Message-ID: ab1ea6540912160147p6414cf28i789750635fa266b0@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-jdbc
I am trying create an array of text to pass to a postgreSQL function
and I am getting the following error
"java.lang.AbstractMethodError:
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createArrayOf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Array;"

I have tried googling for a possible solution without much success the
closed I got was the discussion in this thread
"http://archives.postgresql.org/pgsql-jdbc/2009-04/msg00013.php" but I
am unable to find the successful conclusion/solution for this error.

I am using JDBC driver (postgresql-8.4-701.jdbc4.jar) for postgreSQL
and commons-dbcp-1.2.2.jar for connection pooling.

My code like like this.


       public static int persistUserInput(
               Connection conn,String
_user_input_id,Map<String,Vector<String>> userInputMap
       )throws SQLException
       {
               int _rows_affected=-1;
               String _input_name=null;
               String _input_values[]=new String[0];
               PreparedStatement ps=null;ResultSet rs=null;
               for (Map.Entry<String,Vector<String>> y :
userInputMap.entrySet())
               {
                       _input_name=y.getKey();
                       Vector<String> v=y.getValue();
                       _input_values=v.toArray(_input_values);
                       try
                       {

                               String _sql_query=""
                                       +" SELECT persist_user_input(?,?,?);"
                               ;
                               ps=conn.prepareStatement(_sql_query);
                               ps.setString(1,_user_input_id);
                               ps.setString(2,_input_name);

ps.setArray(3,conn.createArrayOf("text",_input_values));
                               rs=ps.executeQuery();
                               if(rs.next())
                               {
                                       _rows_affected=rs.getInt(1);
                               }
                               rs.close();
                               ps.close();
                       }
                       catch(SQLException e)
                       {
                               throw e;
                       }
                       finally
                       {
                               /*
                               rs.close();
                               ps.close();
                               if(rs!=null&&!rs.isClosed())
                               {
                                       rs.close();
                               }
                               rs=null;
                               if(ps!=null&&!ps.isClosed())
                               {
                                       ps.close();
                               }
                               ps=null;
                               */
                       }
               }
               return _rows_affected;
       }

Responses

pgsql-jdbc by date

Next:From: Allan KamauDate: 2009-12-16 09:54:07
Subject: Error when attempting to call Connection.createArrayOf() method
Previous:From: Alexander PyhalovDate: 2009-12-16 09:29:14
Subject: Re: Get bytes sent to client

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group