Hi, I am using JDBCPlus (http://www.dankomannhaupt.de/projects/index.html) as a jdbc appender for logging into database. For a requirement, I had to change the datatype of a column (which stores the message string to be logged) from varchar2(4000) to CLOB. But as soon I do this, the logging in database stops and the stack trace got is :
log4j:ERROR JDBCAppender::flush_buffer(), : java.sql.SQLException: Internal Error: Unable to construct a Datum from the specified input at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210) at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:829) at oracle.sql.SQLUtil.makeDatum(SQLUtil.java:645) at oracle.sql.SQLUtil.makeOracleDatum(SQLUtil.java:946) at oracle.jdbc.driver.UpdatableResultSet.updateObject(UpdatableResultSet.java:1568) at oracle.jdbc.driver.OracleResultSet.updateObject(OracleResultSet.java:2787) at org.apache.log4j.jdbcplus.JDBCLogger.append(JDBCLogger.java:742) at org.apache.log4j.jdbcplus.JDBCAppender.flush_buffer(JDBCAppender.java:887) at org.apache.log4j.jdbcplus.JDBCAppender.append(JDBCAppender.java:867) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65) at org.apache.log4j.Category.callAppenders(Category.java:203) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at edu.unc.its.util.UNCLogger.prepareAndLogMessage(UNCLogger.java:445) at edu.unc.its.util.UNCLoggerClient.main(UNCLoggerClient.java:23) log4j:ERROR JDBCAppender::flush_buffer(), : java.sql.SQLException: Internal Error: Unable to construct a Datum from the specified input at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210) at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:829) at oracle.sql.SQLUtil.makeDatum(SQLUtil.java:645) at oracle.sql.SQLUtil.makeOracleDatum(SQLUtil.java:946) at oracle.jdbc.driver.UpdatableResultSet.updateObject(UpdatableResultSet.java:1568) at oracle.jdbc.driver.OracleResultSet.updateObject(OracleResultSet.java:2787) at org.apache.log4j.jdbcplus.JDBCLogger.append(JDBCLogger.java:742) at org.apache.log4j.jdbcplus.JDBCAppender.flush_buffer(JDBCAppender.java:887) at org.apache.log4j.jdbcplus.JDBCAppender.append(JDBCAppender.java:867) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65) at org.apache.log4j.Category.callAppenders(Category.java:203) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at edu.unc.its.util.UNCLogger.prepareAndLogMessage(UNCLogger.java:445) at edu.unc.its.util.UNCLoggerClient.main(UNCLoggerClient.java:23) 14:39:08,463 FATAL UNC:? - [Message logged at =2008-08-07 10:30:00][Process Id =P1][Process Name =Process1][Transaction Id =T1][Source =Source1][Target =Target1][Service Invoked =LOGGING][Instance Id =I1][Message Id =M1] FATAL - This is the error message. It will be great if any suggestions can be provided to implement CLOB with JDBCPlus appender. Regards, Vaibhav