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

Reply via email to