commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "dingli (JIRA)" <j...@apache.org>
Subject [jira] [Created] (DBUTILS-122) getParameterMetaData Exception
Date Tue, 02 Dec 2014 01:53:13 GMT
dingli created DBUTILS-122:
------------------------------

             Summary: getParameterMetaData  Exception
                 Key: DBUTILS-122
                 URL: https://issues.apache.org/jira/browse/DBUTILS-122
             Project: Commons DbUtils
          Issue Type: Bug
    Affects Versions: 1.5, 1.6
         Environment: Windows, JDK6
            Reporter: dingli


using ojdbc6.jar to connect to Oracle,  we get "ORA-00942 table or view not exist" exception.
 after dive into dbutils code, we found  the exception is throw from  
org.apache.commons.dbcp.DelegatingPreparedStatement.getParameterMetaData

this is a oracle bug , but dbutils should ignore it and continue processing

in the AbstractQueryRunner.java

method :  fillStatement

if (!pmdKnownBroken) {
            pmd = stmt.getParameterMetaData();
            int stmtCount = pmd.getParameterCount();
            int paramsCount = params == null ? 0 : params.length;

            if (stmtCount != paramsCount) {
                throw new SQLException("Wrong number of parameters: expected "
                        + stmtCount + ", was given " + paramsCount);
            }
        }

the code should catch the exception and set pmdKnownBroken to true and continue


another suggestion:
can the AbstractQueryRunner provide a method to set pmdKnownBroken in addtion to constructor
?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message