[logback-dev] [JIRA] Commented: (LBCORE-120) ArrayIndexOutOfBoundsException when using Oracle driver ojdbc6 with DBAppender

Manuel Kueblboeck (JIRA) noreply-jira at qos.ch
Thu Oct 8 21:25:44 CEST 2009


    [ http://jira.qos.ch/browse/LBCORE-120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11326#action_11326 ] 

Manuel Kueblboeck commented on LBCORE-120:
------------------------------------------

The nicer solution to what is described above is:

package nz.co.integrationworks.reporting.logback;

import ch.qos.logback.classic.db.DBAppender;

public class OracleDBAppender extends DBAppender {

	@Override
	public void start() {
		super.start();
		
		cnxSupportsGetGeneratedKeys = false;
		System.out.println("The Oracle ojdbc6 driver does not support the getGeneratedKeys method.");
		System.out.println("supportsGetGeneratedKeys=false");
	}
}

> ArrayIndexOutOfBoundsException when using Oracle driver ojdbc6 with DBAppender
> ------------------------------------------------------------------------------
>
>                 Key: LBCORE-120
>                 URL: http://jira.qos.ch/browse/LBCORE-120
>             Project: logback-core
>          Issue Type: Bug
>          Components: Appender
>    Affects Versions: 0.9.17
>         Environment: Windows XP, Oracle Database 11g Release 11.1.0.0.0, jdk1.6.0_16
>            Reporter: Manuel Kueblboeck
>            Assignee: Logback dev list
>            Priority: Minor
>
> When using the Oracle driver ojdbc6 (11.1.0.7.0) an ArrayIndexOutOfBoundsException occurs when trying to write a log message to the database (see stacktrace below). I am using ch.qos.logback.core.db.DriverManagerConnectionSource in my logback.xml. When using ojdbc14 (10.2.0.4), this works fine.
> 07:31:43,997 |-ERROR in ch.qos.logback.classic.db.DBAppender[LogDB] - problem appending event java.lang.ArrayIndexOutOfBoundsException: 10
> 	at java.lang.ArrayIndexOutOfBoundsException: 10
> 	at 	at oracle.jdbc.driver.OracleSql.computeBasicInfo(OracleSql.java:950)
> 	at 	at oracle.jdbc.driver.OracleSql.getSqlKind(OracleSql.java:623)
> 	at 	at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:1212)
> 	at 	at oracle.jdbc.driver.T4CPreparedStatement.<init>(T4CPreparedStatement.java:28)
> 	at 	at oracle.jdbc.driver.T4CDriverExtension.allocatePreparedStatement(T4CDriverExtension.java:68)
> 	at 	at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3140)
> 	at 	at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3042)
> 	at 	at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:6022)
> 	at 	at ch.qos.logback.core.db.DBAppenderBase.append(DBAppenderBase.java:90)
> 	at 	at ch.qos.logback.core.AppenderBase.doAppend(AppenderBase.java:87)
> 	at 	at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:60)
> 	at 	at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:271)
> 	at 	at ch.qos.logback.classic.Logger.callAppenders(Logger.java:258)
> 	at 	at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:440)
> 	at 	at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:394)
> 	at 	at ch.qos.logback.classic.Logger.debug(Logger.java:521)
> 	at 	at nz.co.integrationworks.reporting.AbstractReporter.log(AbstractReporter.java:37)
> 	at 	at nz.co.integrationworks.reporting.AbstractReporter.log(AbstractReporter.java:29)
> 	at 	at nz.co.integrationworks.reporting.BusinessLoggerManualTest.main(BusinessLoggerManualTest.java:28)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the logback-dev mailing list