Error when attempting to call Connection.createArrayOf() method
| От | Allan Kamau |
|---|---|
| Тема | Error when attempting to call Connection.createArrayOf() method |
| Дата | |
| Msg-id | ab1ea6540912160154v788ce47am893b4d4bed8c6285@mail.gmail.com обсуждение исходный текст |
| Ответ на | Error when attempting to call Connection.createArrayOf() method (Allan Kamau <kamauallan@gmail.com>) |
| Список | 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;
}
В списке pgsql-jdbc по дате отправления: