QueryRunner exception using Oracle: Too many parameters: expected 0, was given
1 Query: ...
-------------------------------------------------------------------------------------------
Key: DBUTILS-56
URL: https://issues.apache.org/jira/browse/DBUTILS-56
Project: Commons DbUtils
Issue Type: Bug
Affects Versions: 1.2
Environment: JDK 6
OJDBC14.JAR
Oracle 9i
Reporter: Jeffrey Bennett
We use an Oracle 9i environment and I have recently upgraded from
dbutils-1.1-dev.jar (1.1 with a necessary Oracle fix in the previous release)
to dbutils 1.2. It appears we are completely dead-in-the-water with the 1.2
release due to all QueryRunner statements blowing up at runtime.
Example output:
Too many parameters: expected 0, was given 1 Query: SELECT count(*) FROM
C1IMAN.IMAN_ADD WHERE IMAN_DOC=? Parameters: [0]
Example code:
int macId = 0;
final QueryRunner runner = new QueryRunner();
final Integer ii = (Integer) runner.query(
imanConnection,
"SELECT count(*) "
+ "FROM C1IMAN.IMAN_ADD "
+ "WHERE MACID=?",
new Object[] { new Long(macId) },
new ResultSetHandler()
{
public Object handle(ResultSet rs) throws SQLException
{
rs.next();
return new Integer( rs.getInt(1) );
}
});
===========================
I didn't see a defect issued for this yet, so am doing so. There is some
discussion of the problem here:
http://www.nabble.com/-ANNOUNCEMENT--Commons-DbUtils-1.2-released-td23335162.html
The mentioned workaround is to upgrade from ojdbc14.jar (JDK 1.4+) to
ojdbc5.jar (JDK 5.0+) or ojdbc6.jar (JDK 6.0+). I have not yet confirmed if
this works, still trying to acquire those later jars and they may be an Oracle
11g only thing (i.e. not compatible with Oracle 9i). I do note that dbutils
claims to work with JDK 1.4 and up, so a ojdbc14.jar solution ought to be
devised.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.