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:54:07
Message-ID: ab1ea6540912160154v788ce47am893b4d4bed8c6285@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi,
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 mailing list 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;
      }

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Allan Kamau 2009-12-16 13:38:08 Error when attempting to call Connection.createArrayOf() method
Previous Message Allan Kamau 2009-12-16 09:47:15 Error when attempting to call Connection.createArrayOf() method