You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by SoaMattH <ma...@netpacket.com.au> on 2009/10/19 11:18:18 UTC

sql throwing oracle 17004 ORA-17004 error

I have the following End point and route:

  <camel:endpoint id="sabaOmsCoursesSQLEndPoint" 
    uri="sql:select * from
RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/>

....

  <camel:route id="omsSabaCoursesRoute">
    <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN" />
    <!-- <camel:policy ref="SABA_READ_ONLY" /> -->
    <camel:to ref="sabaOmsCoursesSQLEndPoint" />
    <camel:to uri="bean:sabaCourseService" />
  </camel:route>

The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns
so nothing out of the ordinary.




When the SQL is called the following Error is given:

DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread]
(SimpleJobFactory.java:50) - Producing instance of Job
'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN',
class=org.apache.camel.component.quartz.CamelJob
DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling
execute on job DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN
DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
Quartz Job with context: JobExecutionContext: trigger: 'Camel.omsSabaCourses
job: DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime:
'Mon Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST
2009 previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
isRecovering: false refireCount: 0
DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
Quartz Job with context: JobExecutionContext: trigger: 'Camel.omsSabaCourses
job: DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime:
'Mon Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST
2009 previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
isRecovering: false refireCount: 0
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractPlatformTransactionManager.java:371) - Creating new transaction
with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
DEBUG [DefaultQuartzScheduler_Worker-1] (DriverManagerDataSource.java:163) -
Creating new JDBC DriverManager Connection to
[jdbc:oracle:thin:@aserver:1521:sabpdb]
DEBUG [DefaultQuartzScheduler_Worker-1]
(DataSourceTransactionManager.java:202) - Acquired Connection
[oracle.jdbc.driver.T4CConnection@19f1bac] for JDBC transaction
DEBUG [DefaultQuartzScheduler_Worker-1]
(DataSourceTransactionManager.java:219) - Switching JDBC Connection
[oracle.jdbc.driver.T4CConnection@19f1bac] to manual commit
DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) - Starting
producer: Producer[sql://select * from
RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) - Starting
producer: Producer[sql://select * from
RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding to
producer cache with key: Endpoint[sql://select * from
RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
Producer[sql://select * from
RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding to
producer cache with key: Endpoint[sql://select * from
RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
Producer[sql://select * from
RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) - Executing
prepared SQL statement [select * from RPV_DES_OMS_COURSES]
 INFO [DefaultQuartzScheduler_Worker-1] (XmlBeanDefinitionReader.java:323) -
Loading XML bean definitions from class path resource
[org/springframework/jdbc/support/sql-error-codes.xml]
DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72) -
Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) - Found
beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in
classpath: spring-beans-2.0.dtd
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
singleton bean 'DB2'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
'DB2'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'DB2'
to allow for resolving potential circular references
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
of bean 'DB2'
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
singleton bean 'Derby'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
'Derby'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'Derby'
to allow for resolving potential circular references
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
of bean 'Derby'
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
singleton bean 'H2'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
'H2'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'H2' to
allow for resolving potential circular references
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
of bean 'H2'
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
singleton bean 'HSQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
'HSQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'HSQL'
to allow for resolving potential circular references
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
of bean 'HSQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
singleton bean 'Informix'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
'Informix'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
'Informix' to allow for resolving potential circular references
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
of bean 'Informix'
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
singleton bean 'MS-SQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
'MS-SQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
'MS-SQL' to allow for resolving potential circular references
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
of bean 'MS-SQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
singleton bean 'MySQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
'MySQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'MySQL'
to allow for resolving potential circular references
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
of bean 'MySQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
singleton bean 'Oracle'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
'Oracle'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
'Oracle' to allow for resolving potential circular references
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
of bean 'Oracle'
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
singleton bean 'PostgreSQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
'PostgreSQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
'PostgreSQL' to allow for resolving potential circular references
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
of bean 'PostgreSQL'
DEBUG [DefaultQuartzScheduler_Worker-1]
(DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
singleton bean 'Sybase'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
'Sybase'
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
'Sybase' to allow for resolving potential circular references
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
of bean 'Sybase'
 INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128) -
SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL,
Oracle, PostgreSQL, Sybase]
DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201) -
Looking up default SQLErrorCodes for DataSource
[org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]
DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220) -
Database product name cached for DataSource
[org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]: name
is 'Oracle'
DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177) -
SQL error codes for 'Oracle' found
DEBUG [DefaultQuartzScheduler_Worker-1]
(SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate
SQLException with Error code '17004', will now try the fallback translator
DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
exchange has failed so breaking out of pipeline: Exchange[Message: JobDetail
'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':  jobClass:
'org.apache.camel.component.quartz.CamelJob isStateful: false isVolatile:
false isDurable: false requestsRecovers: false] Exception:
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [select * from
RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid column
type; nested exception is java.sql.SQLException: Invalid column type
DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
exchange has failed so breaking out of pipeline: Exchange[Message: JobDetail
'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':  jobClass:
'org.apache.camel.component.quartz.CamelJob isStateful: false isVolatile:
false isDurable: false requestsRecovers: false] Exception:
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [select * from
RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid column
type; nested exception is java.sql.SQLException: Invalid column type
DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed delivery
for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery attempt: 0
caught: org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [select * from
RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid column
type; nested exception is java.sql.SQLException: Invalid column type
DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed delivery
for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery attempt: 0
caught: org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [select * from
RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid column
type; nested exception is java.sql.SQLException: Invalid column type
DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361) -
This exchange is not handled so its marked as failed: Exchange[Message:
JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
isVolatile: false isDurable: false requestsRecovers: false]
DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361) -
This exchange is not handled so its marked as failed: Exchange[Message:
JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
isVolatile: false isDurable: false requestsRecovers: false]
DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127) -
Setting transaction to rollbackOnly due to exception being thrown:
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [select * from
RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid column
type; nested exception is java.sql.SQLException: Invalid column type
DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127) -
Setting transaction to rollbackOnly due to exception being thrown:
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [select * from
RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid column
type; nested exception is java.sql.SQLException: Invalid column type
DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) -
Initiating transaction rollback on application exception
org.apache.camel.spring.spi.TransactedRuntimeCamelException:
org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [select * from
RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid column
type; nested exception is java.sql.SQLException: Invalid column type
	at
org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171)
	at
org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
	at
org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
	at
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
	at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
	at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
	at
org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
	at
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
	at
org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
	at
org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
	at
org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
	at
org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119)
	at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
	at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
Caused by: org.springframework.jdbc.UncategorizedSQLException:
PreparedStatementCallback; uncategorized SQLException for SQL [select * from
RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid column
type; nested exception is java.sql.SQLException: Invalid column type
	at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
	at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
	at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
	at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
	at org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43)
	at
org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81)
	at
org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79)
	at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141)
	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78)
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
	at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
	at
org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
	at
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
	at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
	at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
	at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
	at
org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
	at
org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
	... 15 more
Caused by: java.sql.SQLException: Invalid column type
	at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
	at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
	at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
	at
oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262)
	at
oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
	at
oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565)
	at
oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548)
	at
org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50)
	at
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
	... 34 more
DEBUG [DefaultQuartzScheduler_Worker-1]
(AbstractPlatformTransactionManager.java:821) - Initiating transaction
rollback
DEBUG [DefaultQuartzScheduler_Worker-1]
(DataSourceTransactionManager.java:273) - Rolling back JDBC transaction on
Connection [oracle.jdbc.driver.T4CConnection@19f1bac]
DEBUG [DefaultQuartzScheduler_Worker-1]
(DataSourceTransactionManager.java:314) - Releasing JDBC Connection
[oracle.jdbc.driver.T4CConnection@19f1bac] after transaction
DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) -
Returning JDBC Connection to DataSource


Any clues on this error ?

Matt



-- 
View this message in context: http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25955346.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: sql throwing oracle 17004 ORA-17004 error

Posted by Roman Kalukiewicz <ro...@gmail.com>.
I believe before you send your message to jms endpoint you should clear your
message body.

SQL componet assumes your body is used as query parameters. If you don't
have any parameters in your query, but you send some body, there could be an
exception thrown.

Roman

2009/10/19 SoaMattH <ma...@netpacket.com.au>

>
>
> If I change the Query to
>    <camel:endpoint id="sabaOmsCoursesSQLEndPoint"
>      uri="sql:select 'MyTitle' title from
> dual?dataSourceRef=sabaDataSource"/>
>
> I get the same error ?? Any Thoughts??
>
> I can query the db and tables with dbVisualizer and the dame odbc14.jar
> for oracle 10.2.0.3.0
>
> Thanks Matt Hannay
>
>
>
> SoaMattH wrote:
> >
> > I have the following End point and route:
> >
> >   <camel:endpoint id="sabaOmsCoursesSQLEndPoint"
> >     uri="sql:select * from
> > RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/>
> >
> > ....
> >
> >   <camel:route id="omsSabaCoursesRoute">
> >     <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN" />
> >     <!-- <camel:policy ref="SABA_READ_ONLY" /> -->
> >     <camel:to ref="sabaOmsCoursesSQLEndPoint" />
> >     <camel:to uri="bean:sabaCourseService" />
> >   </camel:route>
> >
> > The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns
> > so nothing out of the ordinary.
> >
> >
> >
> >
> > When the SQL is called the following Error is given:
> >
> > DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread]
> > (SimpleJobFactory.java:50) - Producing instance of Job
> > 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN',
> > class=org.apache.camel.component.quartz.CamelJob
> > DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling
> > execute on job DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN
> > DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) -
> Firing
> > Quartz Job with context: JobExecutionContext: trigger:
> > 'Camel.omsSabaCourses job:
> > DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
> > Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
> > previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
> > isRecovering: false refireCount: 0
> > DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) -
> Firing
> > Quartz Job with context: JobExecutionContext: trigger:
> > 'Camel.omsSabaCourses job:
> > DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
> > Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
> > previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
> > isRecovering: false refireCount: 0
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractPlatformTransactionManager.java:371) - Creating new transaction
> > with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> (DriverManagerDataSource.java:163)
> > - Creating new JDBC DriverManager Connection to
> > [jdbc:oracle:thin:@aserver:1521:sabpdb]
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DataSourceTransactionManager.java:202) - Acquired Connection
> > [oracle.jdbc.driver.T4CConnection@19f1bac] for JDBC transaction
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DataSourceTransactionManager.java:219) - Switching JDBC Connection
> > [oracle.jdbc.driver.T4CConnection@19f1bac] to manual commit
> > DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
> > Starting producer: Producer[sql://select * from
> > RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> > DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
> > Starting producer: Producer[sql://select * from
> > RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> > DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
> > to producer cache with key: Endpoint[sql://select * from
> > RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
> > Producer[sql://select * from
> > RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> > DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
> > to producer cache with key: Endpoint[sql://select * from
> > RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
> > Producer[sql://select * from
> > RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> > DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) -
> > Executing prepared SQL statement [select * from RPV_DES_OMS_COURSES]
> >  INFO [DefaultQuartzScheduler_Worker-1]
> (XmlBeanDefinitionReader.java:323)
> > - Loading XML bean definitions from class path resource
> > [org/springframework/jdbc/support/sql-error-codes.xml]
> > DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72) -
> > Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
> > DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) -
> Found
> > beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in
> > classpath: spring-beans-2.0.dtd
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> > singleton bean 'DB2'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> > 'DB2'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'DB2'
> > to allow for resolving potential circular references
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
> instance
> > of bean 'DB2'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> > singleton bean 'Derby'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> > 'Derby'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> > 'Derby' to allow for resolving potential circular references
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
> instance
> > of bean 'Derby'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> > singleton bean 'H2'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> > 'H2'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'H2'
> > to allow for resolving potential circular references
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
> instance
> > of bean 'H2'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> > singleton bean 'HSQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> > 'HSQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> > 'HSQL' to allow for resolving potential circular references
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
> instance
> > of bean 'HSQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> > singleton bean 'Informix'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> > 'Informix'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> > 'Informix' to allow for resolving potential circular references
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
> instance
> > of bean 'Informix'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> > singleton bean 'MS-SQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> > 'MS-SQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> > 'MS-SQL' to allow for resolving potential circular references
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
> instance
> > of bean 'MS-SQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> > singleton bean 'MySQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> > 'MySQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> > 'MySQL' to allow for resolving potential circular references
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
> instance
> > of bean 'MySQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> > singleton bean 'Oracle'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> > 'Oracle'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> > 'Oracle' to allow for resolving potential circular references
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
> instance
> > of bean 'Oracle'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> > singleton bean 'PostgreSQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> > 'PostgreSQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> > 'PostgreSQL' to allow for resolving potential circular references
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
> instance
> > of bean 'PostgreSQL'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> > singleton bean 'Sybase'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> > 'Sybase'
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> > 'Sybase' to allow for resolving potential circular references
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
> instance
> > of bean 'Sybase'
> >  INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128) -
> > SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL,
> > Oracle, PostgreSQL, Sybase]
> > DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201) -
> > Looking up default SQLErrorCodes for DataSource
> > [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]
> > DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220) -
> > Database product name cached for DataSource
> > [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]:
> > name is 'Oracle'
> > DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177) -
> > SQL error codes for 'Oracle' found
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate
> > SQLException with Error code '17004', will now try the fallback
> translator
> > DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
> > exchange has failed so breaking out of pipeline: Exchange[Message:
> > JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
> > jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> > isVolatile: false isDurable: false requestsRecovers: false] Exception:
> > org.springframework.jdbc.UncategorizedSQLException:
> > PreparedStatementCallback; uncategorized SQLException for SQL [select *
> > from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> > column type; nested exception is java.sql.SQLException: Invalid column
> > type
> > DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
> > exchange has failed so breaking out of pipeline: Exchange[Message:
> > JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
> > jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> > isVolatile: false isDurable: false requestsRecovers: false] Exception:
> > org.springframework.jdbc.UncategorizedSQLException:
> > PreparedStatementCallback; uncategorized SQLException for SQL [select *
> > from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> > column type; nested exception is java.sql.SQLException: Invalid column
> > type
> > DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
> > delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
> > attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
> > PreparedStatementCallback; uncategorized SQLException for SQL [select *
> > from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> > column type; nested exception is java.sql.SQLException: Invalid column
> > type
> > DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
> > delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
> > attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
> > PreparedStatementCallback; uncategorized SQLException for SQL [select *
> > from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> > column type; nested exception is java.sql.SQLException: Invalid column
> > type
> > DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
> > - This exchange is not handled so its marked as failed: Exchange[Message:
> > JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
> > jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> > isVolatile: false isDurable: false requestsRecovers: false]
> > DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
> > - This exchange is not handled so its marked as failed: Exchange[Message:
> > JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
> > jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> > isVolatile: false isDurable: false requestsRecovers: false]
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> (TransactionErrorHandler.java:127)
> > - Setting transaction to rollbackOnly due to exception being thrown:
> > org.springframework.jdbc.UncategorizedSQLException:
> > PreparedStatementCallback; uncategorized SQLException for SQL [select *
> > from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> > column type; nested exception is java.sql.SQLException: Invalid column
> > type
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> (TransactionErrorHandler.java:127)
> > - Setting transaction to rollbackOnly due to exception being thrown:
> > org.springframework.jdbc.UncategorizedSQLException:
> > PreparedStatementCallback; uncategorized SQLException for SQL [select *
> > from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> > column type; nested exception is java.sql.SQLException: Invalid column
> > type
> > DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) -
> > Initiating transaction rollback on application exception
> > org.apache.camel.spring.spi.TransactedRuntimeCamelException:
> > org.springframework.jdbc.UncategorizedSQLException:
> > PreparedStatementCallback; uncategorized SQLException for SQL [select *
> > from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> > column type; nested exception is java.sql.SQLException: Invalid column
> > type
> >       at
> >
> org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171)
> >       at
> >
> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> >       at
> >
> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> >       at
> >
> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> >       at
> >
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> >       at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> >       at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> >       at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> >       at
> >
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
> >       at
> >
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> >       at
> >
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> >       at
> >
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> >       at
> >
> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
> >       at
> >
> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119)
> >       at
> org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
> >       at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
> >       at
> >
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
> > Caused by: org.springframework.jdbc.UncategorizedSQLException:
> > PreparedStatementCallback; uncategorized SQLException for SQL [select *
> > from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> > column type; nested exception is java.sql.SQLException: Invalid column
> > type
> >       at
> >
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
> >       at
> >
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
> >       at
> > org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
> >       at
> > org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
> >       at
> > org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43)
> >       at
> >
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81)
> >       at
> >
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79)
> >       at
> > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141)
> >       at
> > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78)
> >       at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> >       at
> >
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> >       at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> >       at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> >       at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> >       at
> >
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
> >       at
> >
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> >       at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
> >       at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> >       at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> >       at
> >
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> >       at
> >
> org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> >       at
> >
> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> >       ... 15 more
> > Caused by: java.sql.SQLException: Invalid column type
> >       at
> >
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
> >       at
> >
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
> >       at
> >
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
> >       at
> >
> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262)
> >       at
> >
> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
> >       at
> >
> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565)
> >       at
> >
> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548)
> >       at
> >
> org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50)
> >       at
> > org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
> >       ... 34 more
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (AbstractPlatformTransactionManager.java:821) - Initiating transaction
> > rollback
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DataSourceTransactionManager.java:273) - Rolling back JDBC transaction
> on
> > Connection [oracle.jdbc.driver.T4CConnection@19f1bac]
> > DEBUG [DefaultQuartzScheduler_Worker-1]
> > (DataSourceTransactionManager.java:314) - Releasing JDBC Connection
> > [oracle.jdbc.driver.T4CConnection@19f1bac] after transaction
> > DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) -
> > Returning JDBC Connection to DataSource
> >
> >
> > Any clues on this error ?
> >
> > Matt
> >
> >
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25955499.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>

Re: sql throwing oracle 17004 ORA-17004 error

Posted by SoaMattH <ma...@netpacket.com.au>.

If I change the Query to 
    <camel:endpoint id="sabaOmsCoursesSQLEndPoint" 
      uri="sql:select 'MyTitle' title from
dual?dataSourceRef=sabaDataSource"/>

I get the same error ?? Any Thoughts??

I can query the db and tables with dbVisualizer and the dame odbc14.jar
for oracle 10.2.0.3.0

Thanks Matt Hannay



SoaMattH wrote:
> 
> I have the following End point and route:
> 
>   <camel:endpoint id="sabaOmsCoursesSQLEndPoint" 
>     uri="sql:select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/>
> 
> ....
> 
>   <camel:route id="omsSabaCoursesRoute">
>     <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN" />
>     <!-- <camel:policy ref="SABA_READ_ONLY" /> -->
>     <camel:to ref="sabaOmsCoursesSQLEndPoint" />
>     <camel:to uri="bean:sabaCourseService" />
>   </camel:route>
> 
> The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns
> so nothing out of the ordinary.
> 
> 
> 
> 
> When the SQL is called the following Error is given:
> 
> DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread]
> (SimpleJobFactory.java:50) - Producing instance of Job
> 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN',
> class=org.apache.camel.component.quartz.CamelJob
> DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling
> execute on job DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN
> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
> Quartz Job with context: JobExecutionContext: trigger:
> 'Camel.omsSabaCourses job:
> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
> isRecovering: false refireCount: 0
> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
> Quartz Job with context: JobExecutionContext: trigger:
> 'Camel.omsSabaCourses job:
> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
> isRecovering: false refireCount: 0
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractPlatformTransactionManager.java:371) - Creating new transaction
> with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
> DEBUG [DefaultQuartzScheduler_Worker-1] (DriverManagerDataSource.java:163)
> - Creating new JDBC DriverManager Connection to
> [jdbc:oracle:thin:@aserver:1521:sabpdb]
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:202) - Acquired Connection
> [oracle.jdbc.driver.T4CConnection@19f1bac] for JDBC transaction
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:219) - Switching JDBC Connection
> [oracle.jdbc.driver.T4CConnection@19f1bac] to manual commit
> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
> Starting producer: Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
> Starting producer: Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
> to producer cache with key: Endpoint[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
> Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
> to producer cache with key: Endpoint[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
> Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) -
> Executing prepared SQL statement [select * from RPV_DES_OMS_COURSES]
>  INFO [DefaultQuartzScheduler_Worker-1] (XmlBeanDefinitionReader.java:323)
> - Loading XML bean definitions from class path resource
> [org/springframework/jdbc/support/sql-error-codes.xml]
> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72) -
> Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
> DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) - Found
> beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in
> classpath: spring-beans-2.0.dtd
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'DB2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'DB2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'DB2'
> to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'DB2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Derby'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Derby'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Derby' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Derby'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'H2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'H2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'H2'
> to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'H2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'HSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'HSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'HSQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'HSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Informix'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Informix'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Informix' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Informix'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'MS-SQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'MS-SQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'MS-SQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'MS-SQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'MySQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'MySQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'MySQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'MySQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Oracle' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'PostgreSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'PostgreSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'PostgreSQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'PostgreSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Sybase'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Sybase'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Sybase' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Sybase'
>  INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128) -
> SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL,
> Oracle, PostgreSQL, Sybase]
> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201) -
> Looking up default SQLErrorCodes for DataSource
> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]
> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220) -
> Database product name cached for DataSource
> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]:
> name is 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177) -
> SQL error codes for 'Oracle' found
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate
> SQLException with Error code '17004', will now try the fallback translator
> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
> exchange has failed so breaking out of pipeline: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false] Exception:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
> exchange has failed so breaking out of pipeline: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false] Exception:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
> - This exchange is not handled so its marked as failed: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false]
> DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
> - This exchange is not handled so its marked as failed: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false]
> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127)
> - Setting transaction to rollbackOnly due to exception being thrown:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127)
> - Setting transaction to rollbackOnly due to exception being thrown:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) -
> Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> 	at
> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> 	at
> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
> 	at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> 	at
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> 	at
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> 	at
> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
> 	at
> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119)
> 	at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
> 	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
> 	at
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
> Caused by: org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> 	at
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
> 	at
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
> 	at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
> 	at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
> 	at
> org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43)
> 	at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81)
> 	at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79)
> 	at
> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141)
> 	at
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78)
> 	at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> 	at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
> 	at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> 	at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> 	... 15 more
> Caused by: java.sql.SQLException: Invalid column type
> 	at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
> 	at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
> 	at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548)
> 	at
> org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50)
> 	at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
> 	... 34 more
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractPlatformTransactionManager.java:821) - Initiating transaction
> rollback
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:273) - Rolling back JDBC transaction on
> Connection [oracle.jdbc.driver.T4CConnection@19f1bac]
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:314) - Releasing JDBC Connection
> [oracle.jdbc.driver.T4CConnection@19f1bac] after transaction
> DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) -
> Returning JDBC Connection to DataSource
> 
> 
> Any clues on this error ?
> 
> Matt
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25955499.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: sql throwing oracle 17004 ORA-17004 error

Posted by Claus Ibsen <cl...@gmail.com>.
On Tue, Oct 20, 2009 at 9:33 AM, Claus Ibsen <cl...@gmail.com> wrote:
> On Tue, Oct 20, 2009 at 1:38 AM, SoaMattH <ma...@netpacket.com.au> wrote:
>>
>> The defect outlined at
>> https://issues.apache.org/activemq/browse/CAMEL-2077
>>
>> is not quite the problem.
>>
>> That problem is that in SqlProducer.sql
>> lines 47 - 52
>>
>>    if (exchange.getIn().getBody() != null) {
>>        Iterator<?> iterator = exchange.getIn().getBody(Iterator.class);
>>            while (iterator != null && iterator.hasNext()) {
>>                ps.setObject(argNumber++, iterator.next());
>>             }
>>     }
>>
>> The exchange body has a value of:
>> ----------------------------------
>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>> jobClass: 'org.apache.camel.component.quartz.CamelJob
>> isStateful: false
>> isVolatile: false
>> isDurable: false
>> requestsRecovers: false
>>
>> The iterator then processes these values into an iterator, the value
>> in the itorator are then tried to be put in to the prepared statement
>> this is what fails.
>>
>
> Hi
>
> Yeah I do think camel-quartz should not store JobDetail on the body of
> the exchange. People use quartz to trigger a route with an empty body.
> I think we should move that JobDetail as a header instead.
>
> Then its also the same as the timer endpoint as it also has a empty body.
>
>
> Let me create a ticket for that.
>

Hi

Fixed now on Camel trunk.
https://issues.apache.org/activemq/browse/CAMEL-2081

Feel free to try it out on your system.


>
>> The rest of the code looks like that it will process with out any
>> parameters being set.
>>
>> Maybe the <Camel:SQL> component needs a more specific way to set its
>> parameters?
>>
>> The
>> <setBody><constant></constant></setBody>
>> sets the  exchang body to empty and this is a good work around.
>>
>> My route now looks like:
>> <camel:route id="omsSabaCoursesRoute">
>>        <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN"
>> />
>>        <camel:policy ref="SABA_READ_ONLY" />
>>
>>        <!-- WARNING!! -->
>>        <!-- Note: the following clears the exchange in body only use with
>> no parameters in sql. -->
>>        <camel:setBody><camel:constant></camel:constant></camel:setBody>
>>
>>        <camel:to ref="sabaOmsCoursesSQLEndPoint" />
>>        <camel:to uri="bean:sabaCourseService" />
>> </camel:route>
>>
>>
>> Thanks for the help
>> Matt Hannay
>>
>>
>>
>> Claus Ibsen-2 wrote:
>>>
>>> On Mon, Oct 19, 2009 at 2:01 PM, SoaMattH <ma...@netpacket.com.au>
>>> wrote:
>>>>
>>>>
>>>> Any hints on how to set the exchange message body to be empty ??
>>>>
>>>
>>> <setBody><constant></constant></setBody>
>>>
>>>
>>>> Matt
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> SoaMattH wrote:
>>>>>
>>>>> I have the following End point and route:
>>>>>
>>>>>   <camel:endpoint id="sabaOmsCoursesSQLEndPoint"
>>>>>     uri="sql:select * from
>>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/>
>>>>>
>>>>> ....
>>>>>
>>>>>   <camel:route id="omsSabaCoursesRoute">
>>>>>     <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN"
>>>>> />
>>>>>     <!-- <camel:policy ref="SABA_READ_ONLY" /> -->
>>>>>     <camel:to ref="sabaOmsCoursesSQLEndPoint" />
>>>>>     <camel:to uri="bean:sabaCourseService" />
>>>>>   </camel:route>
>>>>>
>>>>> The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns
>>>>> so nothing out of the ordinary.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> When the SQL is called the following Error is given:
>>>>>
>>>>> DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread]
>>>>> (SimpleJobFactory.java:50) - Producing instance of Job
>>>>> 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN',
>>>>> class=org.apache.camel.component.quartz.CamelJob
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling
>>>>> execute on job
>>>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) -
>>>>> Firing
>>>>> Quartz Job with context: JobExecutionContext: trigger:
>>>>> 'Camel.omsSabaCourses job:
>>>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime:
>>>>> 'Mon
>>>>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
>>>>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
>>>>> isRecovering: false refireCount: 0
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) -
>>>>> Firing
>>>>> Quartz Job with context: JobExecutionContext: trigger:
>>>>> 'Camel.omsSabaCourses job:
>>>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime:
>>>>> 'Mon
>>>>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
>>>>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
>>>>> isRecovering: false refireCount: 0
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractPlatformTransactionManager.java:371) - Creating new transaction
>>>>> with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DriverManagerDataSource.java:163)
>>>>> - Creating new JDBC DriverManager Connection to
>>>>> [jdbc:oracle:thin:@aserver:1521:sabpdb]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DataSourceTransactionManager.java:202) - Acquired Connection
>>>>> [oracle.jdbc.driver.T4CConnection@19f1bac] for JDBC transaction
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DataSourceTransactionManager.java:219) - Switching JDBC Connection
>>>>> [oracle.jdbc.driver.T4CConnection@19f1bac] to manual commit
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
>>>>> Starting producer: Producer[sql://select * from
>>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
>>>>> Starting producer: Producer[sql://select * from
>>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) -
>>>>> Adding
>>>>> to producer cache with key: Endpoint[sql://select * from
>>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
>>>>> Producer[sql://select * from
>>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) -
>>>>> Adding
>>>>> to producer cache with key: Endpoint[sql://select * from
>>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
>>>>> Producer[sql://select * from
>>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) -
>>>>> Executing prepared SQL statement [select * from RPV_DES_OMS_COURSES]
>>>>>  INFO [DefaultQuartzScheduler_Worker-1]
>>>>> (XmlBeanDefinitionReader.java:323)
>>>>> - Loading XML bean definitions from class path resource
>>>>> [org/springframework/jdbc/support/sql-error-codes.xml]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72)
>>>>> -
>>>>> Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) -
>>>>> Found
>>>>> beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in
>>>>> classpath: spring-beans-2.0.dtd
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>>> singleton bean 'DB2'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>>> bean
>>>>> 'DB2'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>>> 'DB2'
>>>>> to allow for resolving potential circular references
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>>> instance
>>>>> of bean 'DB2'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>>> singleton bean 'Derby'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>>> bean
>>>>> 'Derby'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>>> 'Derby' to allow for resolving potential circular references
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>>> instance
>>>>> of bean 'Derby'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>>> singleton bean 'H2'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>>> bean
>>>>> 'H2'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>>> 'H2'
>>>>> to allow for resolving potential circular references
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>>> instance
>>>>> of bean 'H2'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>>> singleton bean 'HSQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>>> bean
>>>>> 'HSQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>>> 'HSQL' to allow for resolving potential circular references
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>>> instance
>>>>> of bean 'HSQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>>> singleton bean 'Informix'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>>> bean
>>>>> 'Informix'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>>> 'Informix' to allow for resolving potential circular references
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>>> instance
>>>>> of bean 'Informix'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>>> singleton bean 'MS-SQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>>> bean
>>>>> 'MS-SQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>>> 'MS-SQL' to allow for resolving potential circular references
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>>> instance
>>>>> of bean 'MS-SQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>>> singleton bean 'MySQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>>> bean
>>>>> 'MySQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>>> 'MySQL' to allow for resolving potential circular references
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>>> instance
>>>>> of bean 'MySQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>>> singleton bean 'Oracle'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>>> bean
>>>>> 'Oracle'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>>> 'Oracle' to allow for resolving potential circular references
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>>> instance
>>>>> of bean 'Oracle'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>>> singleton bean 'PostgreSQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>>> bean
>>>>> 'PostgreSQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>>> 'PostgreSQL' to allow for resolving potential circular references
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>>> instance
>>>>> of bean 'PostgreSQL'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>>> singleton bean 'Sybase'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>>> bean
>>>>> 'Sybase'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>>> 'Sybase' to allow for resolving potential circular references
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>>> instance
>>>>> of bean 'Sybase'
>>>>>  INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128)
>>>>> -
>>>>> SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL,
>>>>> Oracle, PostgreSQL, Sybase]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201)
>>>>> -
>>>>> Looking up default SQLErrorCodes for DataSource
>>>>> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220)
>>>>> -
>>>>> Database product name cached for DataSource
>>>>> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]:
>>>>> name is 'Oracle'
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177)
>>>>> -
>>>>> SQL error codes for 'Oracle' found
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate
>>>>> SQLException with Error code '17004', will now try the fallback
>>>>> translator
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
>>>>> exchange has failed so breaking out of pipeline: Exchange[Message:
>>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>>>> isVolatile: false isDurable: false requestsRecovers: false] Exception:
>>>>> org.springframework.jdbc.UncategorizedSQLException:
>>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>>> type
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
>>>>> exchange has failed so breaking out of pipeline: Exchange[Message:
>>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>>>> isVolatile: false isDurable: false requestsRecovers: false] Exception:
>>>>> org.springframework.jdbc.UncategorizedSQLException:
>>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>>> type
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
>>>>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
>>>>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
>>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>>> type
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
>>>>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
>>>>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
>>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>>> type
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (RedeliveryErrorHandler.java:361)
>>>>> - This exchange is not handled so its marked as failed:
>>>>> Exchange[Message:
>>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>>>> isVolatile: false isDurable: false requestsRecovers: false]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (RedeliveryErrorHandler.java:361)
>>>>> - This exchange is not handled so its marked as failed:
>>>>> Exchange[Message:
>>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>>>> isVolatile: false isDurable: false requestsRecovers: false]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (TransactionErrorHandler.java:127)
>>>>> - Setting transaction to rollbackOnly due to exception being thrown:
>>>>> org.springframework.jdbc.UncategorizedSQLException:
>>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>>> type
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (TransactionErrorHandler.java:127)
>>>>> - Setting transaction to rollbackOnly due to exception being thrown:
>>>>> org.springframework.jdbc.UncategorizedSQLException:
>>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>>> type
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) -
>>>>> Initiating transaction rollback on application exception
>>>>> org.apache.camel.spring.spi.TransactedRuntimeCamelException:
>>>>> org.springframework.jdbc.UncategorizedSQLException:
>>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>>> type
>>>>>       at
>>>>> org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171)
>>>>>       at
>>>>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
>>>>>       at
>>>>> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
>>>>>       at
>>>>> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
>>>>>       at
>>>>> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
>>>>>       at
>>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>>>       at
>>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>>>       at
>>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>>>       at
>>>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>>>       at
>>>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>>>       at
>>>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>>>>>       at
>>>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>>>       at
>>>>> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
>>>>>       at
>>>>> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119)
>>>>>       at
>>>>> org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
>>>>>       at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
>>>>>       at
>>>>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
>>>>> Caused by: org.springframework.jdbc.UncategorizedSQLException:
>>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>>> type
>>>>>       at
>>>>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
>>>>>       at
>>>>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
>>>>>       at
>>>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
>>>>>       at
>>>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
>>>>>       at
>>>>> org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43)
>>>>>       at
>>>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81)
>>>>>       at
>>>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79)
>>>>>       at
>>>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141)
>>>>>       at
>>>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78)
>>>>>       at
>>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>>>       at
>>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>>>       at
>>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>>>       at
>>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>>>       at
>>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>>>       at
>>>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>>>       at
>>>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>>>       at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>>>>       at
>>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>>>       at
>>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>>>       at
>>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>>>       at
>>>>> org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
>>>>>       at
>>>>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
>>>>>       ... 15 more
>>>>> Caused by: java.sql.SQLException: Invalid column type
>>>>>       at
>>>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>>>>>       at
>>>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
>>>>>       at
>>>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
>>>>>       at
>>>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262)
>>>>>       at
>>>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
>>>>>       at
>>>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565)
>>>>>       at
>>>>> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548)
>>>>>       at
>>>>> org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50)
>>>>>       at
>>>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
>>>>>       ... 34 more
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (AbstractPlatformTransactionManager.java:821) - Initiating transaction
>>>>> rollback
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DataSourceTransactionManager.java:273) - Rolling back JDBC transaction
>>>>> on
>>>>> Connection [oracle.jdbc.driver.T4CConnection@19f1bac]
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>>> (DataSourceTransactionManager.java:314) - Releasing JDBC Connection
>>>>> [oracle.jdbc.driver.T4CConnection@19f1bac] after transaction
>>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) -
>>>>> Returning JDBC Connection to DataSource
>>>>>
>>>>>
>>>>> Any clues on this error ?
>>>>>
>>>>> Matt
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25957173.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>
>> --
>> View this message in context: http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25967545.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: sql throwing oracle 17004 ORA-17004 error

Posted by Claus Ibsen <cl...@gmail.com>.
On Tue, Oct 20, 2009 at 1:38 AM, SoaMattH <ma...@netpacket.com.au> wrote:
>
> The defect outlined at
> https://issues.apache.org/activemq/browse/CAMEL-2077
>
> is not quite the problem.
>
> That problem is that in SqlProducer.sql
> lines 47 - 52
>
>    if (exchange.getIn().getBody() != null) {
>        Iterator<?> iterator = exchange.getIn().getBody(Iterator.class);
>            while (iterator != null && iterator.hasNext()) {
>                ps.setObject(argNumber++, iterator.next());
>             }
>     }
>
> The exchange body has a value of:
> ----------------------------------
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
> jobClass: 'org.apache.camel.component.quartz.CamelJob
> isStateful: false
> isVolatile: false
> isDurable: false
> requestsRecovers: false
>
> The iterator then processes these values into an iterator, the value
> in the itorator are then tried to be put in to the prepared statement
> this is what fails.
>

Hi

Yeah I do think camel-quartz should not store JobDetail on the body of
the exchange. People use quartz to trigger a route with an empty body.
I think we should move that JobDetail as a header instead.

Then its also the same as the timer endpoint as it also has a empty body.


Let me create a ticket for that.


> The rest of the code looks like that it will process with out any
> parameters being set.
>
> Maybe the <Camel:SQL> component needs a more specific way to set its
> parameters?
>
> The
> <setBody><constant></constant></setBody>
> sets the  exchang body to empty and this is a good work around.
>
> My route now looks like:
> <camel:route id="omsSabaCoursesRoute">
>        <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN"
> />
>        <camel:policy ref="SABA_READ_ONLY" />
>
>        <!-- WARNING!! -->
>        <!-- Note: the following clears the exchange in body only use with
> no parameters in sql. -->
>        <camel:setBody><camel:constant></camel:constant></camel:setBody>
>
>        <camel:to ref="sabaOmsCoursesSQLEndPoint" />
>        <camel:to uri="bean:sabaCourseService" />
> </camel:route>
>
>
> Thanks for the help
> Matt Hannay
>
>
>
> Claus Ibsen-2 wrote:
>>
>> On Mon, Oct 19, 2009 at 2:01 PM, SoaMattH <ma...@netpacket.com.au>
>> wrote:
>>>
>>>
>>> Any hints on how to set the exchange message body to be empty ??
>>>
>>
>> <setBody><constant></constant></setBody>
>>
>>
>>> Matt
>>>
>>>
>>>
>>>
>>>
>>>
>>> SoaMattH wrote:
>>>>
>>>> I have the following End point and route:
>>>>
>>>>   <camel:endpoint id="sabaOmsCoursesSQLEndPoint"
>>>>     uri="sql:select * from
>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/>
>>>>
>>>> ....
>>>>
>>>>   <camel:route id="omsSabaCoursesRoute">
>>>>     <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN"
>>>> />
>>>>     <!-- <camel:policy ref="SABA_READ_ONLY" /> -->
>>>>     <camel:to ref="sabaOmsCoursesSQLEndPoint" />
>>>>     <camel:to uri="bean:sabaCourseService" />
>>>>   </camel:route>
>>>>
>>>> The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns
>>>> so nothing out of the ordinary.
>>>>
>>>>
>>>>
>>>>
>>>> When the SQL is called the following Error is given:
>>>>
>>>> DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread]
>>>> (SimpleJobFactory.java:50) - Producing instance of Job
>>>> 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN',
>>>> class=org.apache.camel.component.quartz.CamelJob
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling
>>>> execute on job
>>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) -
>>>> Firing
>>>> Quartz Job with context: JobExecutionContext: trigger:
>>>> 'Camel.omsSabaCourses job:
>>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime:
>>>> 'Mon
>>>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
>>>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
>>>> isRecovering: false refireCount: 0
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) -
>>>> Firing
>>>> Quartz Job with context: JobExecutionContext: trigger:
>>>> 'Camel.omsSabaCourses job:
>>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime:
>>>> 'Mon
>>>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
>>>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
>>>> isRecovering: false refireCount: 0
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractPlatformTransactionManager.java:371) - Creating new transaction
>>>> with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DriverManagerDataSource.java:163)
>>>> - Creating new JDBC DriverManager Connection to
>>>> [jdbc:oracle:thin:@aserver:1521:sabpdb]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DataSourceTransactionManager.java:202) - Acquired Connection
>>>> [oracle.jdbc.driver.T4CConnection@19f1bac] for JDBC transaction
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DataSourceTransactionManager.java:219) - Switching JDBC Connection
>>>> [oracle.jdbc.driver.T4CConnection@19f1bac] to manual commit
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
>>>> Starting producer: Producer[sql://select * from
>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
>>>> Starting producer: Producer[sql://select * from
>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) -
>>>> Adding
>>>> to producer cache with key: Endpoint[sql://select * from
>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
>>>> Producer[sql://select * from
>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) -
>>>> Adding
>>>> to producer cache with key: Endpoint[sql://select * from
>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
>>>> Producer[sql://select * from
>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) -
>>>> Executing prepared SQL statement [select * from RPV_DES_OMS_COURSES]
>>>>  INFO [DefaultQuartzScheduler_Worker-1]
>>>> (XmlBeanDefinitionReader.java:323)
>>>> - Loading XML bean definitions from class path resource
>>>> [org/springframework/jdbc/support/sql-error-codes.xml]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72)
>>>> -
>>>> Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) -
>>>> Found
>>>> beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in
>>>> classpath: spring-beans-2.0.dtd
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>> singleton bean 'DB2'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>> bean
>>>> 'DB2'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>> 'DB2'
>>>> to allow for resolving potential circular references
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>> instance
>>>> of bean 'DB2'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>> singleton bean 'Derby'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>> bean
>>>> 'Derby'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>> 'Derby' to allow for resolving potential circular references
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>> instance
>>>> of bean 'Derby'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>> singleton bean 'H2'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>> bean
>>>> 'H2'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>> 'H2'
>>>> to allow for resolving potential circular references
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>> instance
>>>> of bean 'H2'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>> singleton bean 'HSQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>> bean
>>>> 'HSQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>> 'HSQL' to allow for resolving potential circular references
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>> instance
>>>> of bean 'HSQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>> singleton bean 'Informix'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>> bean
>>>> 'Informix'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>> 'Informix' to allow for resolving potential circular references
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>> instance
>>>> of bean 'Informix'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>> singleton bean 'MS-SQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>> bean
>>>> 'MS-SQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>> 'MS-SQL' to allow for resolving potential circular references
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>> instance
>>>> of bean 'MS-SQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>> singleton bean 'MySQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>> bean
>>>> 'MySQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>> 'MySQL' to allow for resolving potential circular references
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>> instance
>>>> of bean 'MySQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>> singleton bean 'Oracle'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>> bean
>>>> 'Oracle'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>> 'Oracle' to allow for resolving potential circular references
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>> instance
>>>> of bean 'Oracle'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>> singleton bean 'PostgreSQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>> bean
>>>> 'PostgreSQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>> 'PostgreSQL' to allow for resolving potential circular references
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>> instance
>>>> of bean 'PostgreSQL'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>>> singleton bean 'Sybase'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>>> bean
>>>> 'Sybase'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>>> 'Sybase' to allow for resolving potential circular references
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>>> instance
>>>> of bean 'Sybase'
>>>>  INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128)
>>>> -
>>>> SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL,
>>>> Oracle, PostgreSQL, Sybase]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201)
>>>> -
>>>> Looking up default SQLErrorCodes for DataSource
>>>> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220)
>>>> -
>>>> Database product name cached for DataSource
>>>> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]:
>>>> name is 'Oracle'
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177)
>>>> -
>>>> SQL error codes for 'Oracle' found
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate
>>>> SQLException with Error code '17004', will now try the fallback
>>>> translator
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
>>>> exchange has failed so breaking out of pipeline: Exchange[Message:
>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>>> isVolatile: false isDurable: false requestsRecovers: false] Exception:
>>>> org.springframework.jdbc.UncategorizedSQLException:
>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>> type
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
>>>> exchange has failed so breaking out of pipeline: Exchange[Message:
>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>>> isVolatile: false isDurable: false requestsRecovers: false] Exception:
>>>> org.springframework.jdbc.UncategorizedSQLException:
>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>> type
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
>>>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
>>>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>> type
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
>>>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
>>>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>> type
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (RedeliveryErrorHandler.java:361)
>>>> - This exchange is not handled so its marked as failed:
>>>> Exchange[Message:
>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>>> isVolatile: false isDurable: false requestsRecovers: false]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (RedeliveryErrorHandler.java:361)
>>>> - This exchange is not handled so its marked as failed:
>>>> Exchange[Message:
>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>>> isVolatile: false isDurable: false requestsRecovers: false]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (TransactionErrorHandler.java:127)
>>>> - Setting transaction to rollbackOnly due to exception being thrown:
>>>> org.springframework.jdbc.UncategorizedSQLException:
>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>> type
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (TransactionErrorHandler.java:127)
>>>> - Setting transaction to rollbackOnly due to exception being thrown:
>>>> org.springframework.jdbc.UncategorizedSQLException:
>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>> type
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) -
>>>> Initiating transaction rollback on application exception
>>>> org.apache.camel.spring.spi.TransactedRuntimeCamelException:
>>>> org.springframework.jdbc.UncategorizedSQLException:
>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>> type
>>>>       at
>>>> org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171)
>>>>       at
>>>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
>>>>       at
>>>> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
>>>>       at
>>>> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
>>>>       at
>>>> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>>       at
>>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>>       at
>>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>>       at
>>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>>>>       at
>>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>>       at
>>>> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
>>>>       at
>>>> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119)
>>>>       at
>>>> org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
>>>>       at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
>>>>       at
>>>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
>>>> Caused by: org.springframework.jdbc.UncategorizedSQLException:
>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>>> column type; nested exception is java.sql.SQLException: Invalid column
>>>> type
>>>>       at
>>>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
>>>>       at
>>>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
>>>>       at
>>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
>>>>       at
>>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
>>>>       at
>>>> org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43)
>>>>       at
>>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81)
>>>>       at
>>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79)
>>>>       at
>>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141)
>>>>       at
>>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78)
>>>>       at
>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>>       at
>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>>       at
>>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>>       at
>>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>>       at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>>       at
>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>>       at
>>>> org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
>>>>       at
>>>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
>>>>       ... 15 more
>>>> Caused by: java.sql.SQLException: Invalid column type
>>>>       at
>>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>>>>       at
>>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
>>>>       at
>>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
>>>>       at
>>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262)
>>>>       at
>>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
>>>>       at
>>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565)
>>>>       at
>>>> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548)
>>>>       at
>>>> org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50)
>>>>       at
>>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
>>>>       ... 34 more
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (AbstractPlatformTransactionManager.java:821) - Initiating transaction
>>>> rollback
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DataSourceTransactionManager.java:273) - Rolling back JDBC transaction
>>>> on
>>>> Connection [oracle.jdbc.driver.T4CConnection@19f1bac]
>>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>>> (DataSourceTransactionManager.java:314) - Releasing JDBC Connection
>>>> [oracle.jdbc.driver.T4CConnection@19f1bac] after transaction
>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) -
>>>> Returning JDBC Connection to DataSource
>>>>
>>>>
>>>> Any clues on this error ?
>>>>
>>>> Matt
>>>>
>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25957173.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>>
>
> --
> View this message in context: http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25967545.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: sql throwing oracle 17004 ORA-17004 error

Posted by SoaMattH <ma...@netpacket.com.au>.
The defect outlined at 
https://issues.apache.org/activemq/browse/CAMEL-2077

is not quite the problem.

That problem is that in SqlProducer.sql
lines 47 - 52

    if (exchange.getIn().getBody() != null) {
        Iterator<?> iterator = exchange.getIn().getBody(Iterator.class);
            while (iterator != null && iterator.hasNext()) {
                ps.setObject(argNumber++, iterator.next());
             }
     }

The exchange body has a value of:
----------------------------------
JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':  
jobClass: 'org.apache.camel.component.quartz.CamelJob 
isStateful: false 
isVolatile: false 
isDurable: false 
requestsRecovers: false

The iterator then processes these values into an iterator, the value
in the itorator are then tried to be put in to the prepared statement
this is what fails.

The rest of the code looks like that it will process with out any
parameters being set.

Maybe the <Camel:SQL> component needs a more specific way to set its
parameters?

The 
<setBody><constant></constant></setBody>
sets the  exchang body to empty and this is a good work around.

My route now looks like:
<camel:route id="omsSabaCoursesRoute">
        <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN"
/>
        <camel:policy ref="SABA_READ_ONLY" />
        
        <!-- WARNING!! -->
        <!-- Note: the following clears the exchange in body only use with
no parameters in sql. -->
        <camel:setBody><camel:constant></camel:constant></camel:setBody> 
        
        <camel:to ref="sabaOmsCoursesSQLEndPoint" />
        <camel:to uri="bean:sabaCourseService" />
</camel:route>


Thanks for the help
Matt Hannay



Claus Ibsen-2 wrote:
> 
> On Mon, Oct 19, 2009 at 2:01 PM, SoaMattH <ma...@netpacket.com.au>
> wrote:
>>
>>
>> Any hints on how to set the exchange message body to be empty ??
>>
> 
> <setBody><constant></constant></setBody>
> 
> 
>> Matt
>>
>>
>>
>>
>>
>>
>> SoaMattH wrote:
>>>
>>> I have the following End point and route:
>>>
>>>   <camel:endpoint id="sabaOmsCoursesSQLEndPoint"
>>>     uri="sql:select * from
>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/>
>>>
>>> ....
>>>
>>>   <camel:route id="omsSabaCoursesRoute">
>>>     <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN"
>>> />
>>>     <!-- <camel:policy ref="SABA_READ_ONLY" /> -->
>>>     <camel:to ref="sabaOmsCoursesSQLEndPoint" />
>>>     <camel:to uri="bean:sabaCourseService" />
>>>   </camel:route>
>>>
>>> The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns
>>> so nothing out of the ordinary.
>>>
>>>
>>>
>>>
>>> When the SQL is called the following Error is given:
>>>
>>> DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread]
>>> (SimpleJobFactory.java:50) - Producing instance of Job
>>> 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN',
>>> class=org.apache.camel.component.quartz.CamelJob
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling
>>> execute on job
>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) -
>>> Firing
>>> Quartz Job with context: JobExecutionContext: trigger:
>>> 'Camel.omsSabaCourses job:
>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime:
>>> 'Mon
>>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
>>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
>>> isRecovering: false refireCount: 0
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) -
>>> Firing
>>> Quartz Job with context: JobExecutionContext: trigger:
>>> 'Camel.omsSabaCourses job:
>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime:
>>> 'Mon
>>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
>>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
>>> isRecovering: false refireCount: 0
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractPlatformTransactionManager.java:371) - Creating new transaction
>>> with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DriverManagerDataSource.java:163)
>>> - Creating new JDBC DriverManager Connection to
>>> [jdbc:oracle:thin:@aserver:1521:sabpdb]
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DataSourceTransactionManager.java:202) - Acquired Connection
>>> [oracle.jdbc.driver.T4CConnection@19f1bac] for JDBC transaction
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DataSourceTransactionManager.java:219) - Switching JDBC Connection
>>> [oracle.jdbc.driver.T4CConnection@19f1bac] to manual commit
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
>>> Starting producer: Producer[sql://select * from
>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
>>> Starting producer: Producer[sql://select * from
>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) -
>>> Adding
>>> to producer cache with key: Endpoint[sql://select * from
>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
>>> Producer[sql://select * from
>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) -
>>> Adding
>>> to producer cache with key: Endpoint[sql://select * from
>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
>>> Producer[sql://select * from
>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) -
>>> Executing prepared SQL statement [select * from RPV_DES_OMS_COURSES]
>>>  INFO [DefaultQuartzScheduler_Worker-1]
>>> (XmlBeanDefinitionReader.java:323)
>>> - Loading XML bean definitions from class path resource
>>> [org/springframework/jdbc/support/sql-error-codes.xml]
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72)
>>> -
>>> Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) -
>>> Found
>>> beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in
>>> classpath: spring-beans-2.0.dtd
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>> singleton bean 'DB2'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>> bean
>>> 'DB2'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>> 'DB2'
>>> to allow for resolving potential circular references
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>> instance
>>> of bean 'DB2'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>> singleton bean 'Derby'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>> bean
>>> 'Derby'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>> 'Derby' to allow for resolving potential circular references
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>> instance
>>> of bean 'Derby'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>> singleton bean 'H2'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>> bean
>>> 'H2'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>> 'H2'
>>> to allow for resolving potential circular references
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>> instance
>>> of bean 'H2'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>> singleton bean 'HSQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>> bean
>>> 'HSQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>> 'HSQL' to allow for resolving potential circular references
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>> instance
>>> of bean 'HSQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>> singleton bean 'Informix'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>> bean
>>> 'Informix'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>> 'Informix' to allow for resolving potential circular references
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>> instance
>>> of bean 'Informix'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>> singleton bean 'MS-SQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>> bean
>>> 'MS-SQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>> 'MS-SQL' to allow for resolving potential circular references
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>> instance
>>> of bean 'MS-SQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>> singleton bean 'MySQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>> bean
>>> 'MySQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>> 'MySQL' to allow for resolving potential circular references
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>> instance
>>> of bean 'MySQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>> singleton bean 'Oracle'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>> bean
>>> 'Oracle'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>> 'Oracle' to allow for resolving potential circular references
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>> instance
>>> of bean 'Oracle'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>> singleton bean 'PostgreSQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>> bean
>>> 'PostgreSQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>> 'PostgreSQL' to allow for resolving potential circular references
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>> instance
>>> of bean 'PostgreSQL'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>>> singleton bean 'Sybase'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of
>>> bean
>>> 'Sybase'
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>>> 'Sybase' to allow for resolving potential circular references
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating
>>> instance
>>> of bean 'Sybase'
>>>  INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128)
>>> -
>>> SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL,
>>> Oracle, PostgreSQL, Sybase]
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201)
>>> -
>>> Looking up default SQLErrorCodes for DataSource
>>> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220)
>>> -
>>> Database product name cached for DataSource
>>> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]:
>>> name is 'Oracle'
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177)
>>> -
>>> SQL error codes for 'Oracle' found
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate
>>> SQLException with Error code '17004', will now try the fallback
>>> translator
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
>>> exchange has failed so breaking out of pipeline: Exchange[Message:
>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>> isVolatile: false isDurable: false requestsRecovers: false] Exception:
>>> org.springframework.jdbc.UncategorizedSQLException:
>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>> column type; nested exception is java.sql.SQLException: Invalid column
>>> type
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
>>> exchange has failed so breaking out of pipeline: Exchange[Message:
>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>> isVolatile: false isDurable: false requestsRecovers: false] Exception:
>>> org.springframework.jdbc.UncategorizedSQLException:
>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>> column type; nested exception is java.sql.SQLException: Invalid column
>>> type
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
>>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
>>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>> column type; nested exception is java.sql.SQLException: Invalid column
>>> type
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
>>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
>>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>> column type; nested exception is java.sql.SQLException: Invalid column
>>> type
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (RedeliveryErrorHandler.java:361)
>>> - This exchange is not handled so its marked as failed:
>>> Exchange[Message:
>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>> isVolatile: false isDurable: false requestsRecovers: false]
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (RedeliveryErrorHandler.java:361)
>>> - This exchange is not handled so its marked as failed:
>>> Exchange[Message:
>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>>> isVolatile: false isDurable: false requestsRecovers: false]
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (TransactionErrorHandler.java:127)
>>> - Setting transaction to rollbackOnly due to exception being thrown:
>>> org.springframework.jdbc.UncategorizedSQLException:
>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>> column type; nested exception is java.sql.SQLException: Invalid column
>>> type
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (TransactionErrorHandler.java:127)
>>> - Setting transaction to rollbackOnly due to exception being thrown:
>>> org.springframework.jdbc.UncategorizedSQLException:
>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>> column type; nested exception is java.sql.SQLException: Invalid column
>>> type
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) -
>>> Initiating transaction rollback on application exception
>>> org.apache.camel.spring.spi.TransactedRuntimeCamelException:
>>> org.springframework.jdbc.UncategorizedSQLException:
>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>> column type; nested exception is java.sql.SQLException: Invalid column
>>> type
>>>       at
>>> org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171)
>>>       at
>>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
>>>       at
>>> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
>>>       at
>>> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
>>>       at
>>> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>       at
>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>       at
>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>       at
>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>>>       at
>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>       at
>>> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
>>>       at
>>> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119)
>>>       at
>>> org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
>>>       at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
>>>       at
>>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
>>> Caused by: org.springframework.jdbc.UncategorizedSQLException:
>>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>>> column type; nested exception is java.sql.SQLException: Invalid column
>>> type
>>>       at
>>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
>>>       at
>>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
>>>       at
>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
>>>       at
>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
>>>       at
>>> org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43)
>>>       at
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81)
>>>       at
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79)
>>>       at
>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141)
>>>       at
>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78)
>>>       at
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>       at
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>       at
>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>       at
>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>>       at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>>       at
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>       at
>>> org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
>>>       at
>>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
>>>       ... 15 more
>>> Caused by: java.sql.SQLException: Invalid column type
>>>       at
>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>>>       at
>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
>>>       at
>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
>>>       at
>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262)
>>>       at
>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
>>>       at
>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565)
>>>       at
>>> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548)
>>>       at
>>> org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50)
>>>       at
>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
>>>       ... 34 more
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (AbstractPlatformTransactionManager.java:821) - Initiating transaction
>>> rollback
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DataSourceTransactionManager.java:273) - Rolling back JDBC transaction
>>> on
>>> Connection [oracle.jdbc.driver.T4CConnection@19f1bac]
>>> DEBUG [DefaultQuartzScheduler_Worker-1]
>>> (DataSourceTransactionManager.java:314) - Releasing JDBC Connection
>>> [oracle.jdbc.driver.T4CConnection@19f1bac] after transaction
>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) -
>>> Returning JDBC Connection to DataSource
>>>
>>>
>>> Any clues on this error ?
>>>
>>> Matt
>>>
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25957173.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Claus Ibsen
> Apache Camel Committer
> 
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
> 
> 

-- 
View this message in context: http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25967545.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: sql throwing oracle 17004 ORA-17004 error

Posted by Claus Ibsen <cl...@gmail.com>.
On Mon, Oct 19, 2009 at 2:01 PM, SoaMattH <ma...@netpacket.com.au> wrote:
>
>
> Any hints on how to set the exchange message body to be empty ??
>

<setBody><constant></constant></setBody>


> Matt
>
>
>
>
>
>
> SoaMattH wrote:
>>
>> I have the following End point and route:
>>
>>   <camel:endpoint id="sabaOmsCoursesSQLEndPoint"
>>     uri="sql:select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/>
>>
>> ....
>>
>>   <camel:route id="omsSabaCoursesRoute">
>>     <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN" />
>>     <!-- <camel:policy ref="SABA_READ_ONLY" /> -->
>>     <camel:to ref="sabaOmsCoursesSQLEndPoint" />
>>     <camel:to uri="bean:sabaCourseService" />
>>   </camel:route>
>>
>> The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns
>> so nothing out of the ordinary.
>>
>>
>>
>>
>> When the SQL is called the following Error is given:
>>
>> DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread]
>> (SimpleJobFactory.java:50) - Producing instance of Job
>> 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN',
>> class=org.apache.camel.component.quartz.CamelJob
>> DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling
>> execute on job DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN
>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
>> Quartz Job with context: JobExecutionContext: trigger:
>> 'Camel.omsSabaCourses job:
>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
>> isRecovering: false refireCount: 0
>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
>> Quartz Job with context: JobExecutionContext: trigger:
>> 'Camel.omsSabaCourses job:
>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
>> isRecovering: false refireCount: 0
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractPlatformTransactionManager.java:371) - Creating new transaction
>> with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
>> DEBUG [DefaultQuartzScheduler_Worker-1] (DriverManagerDataSource.java:163)
>> - Creating new JDBC DriverManager Connection to
>> [jdbc:oracle:thin:@aserver:1521:sabpdb]
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DataSourceTransactionManager.java:202) - Acquired Connection
>> [oracle.jdbc.driver.T4CConnection@19f1bac] for JDBC transaction
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DataSourceTransactionManager.java:219) - Switching JDBC Connection
>> [oracle.jdbc.driver.T4CConnection@19f1bac] to manual commit
>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
>> Starting producer: Producer[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
>> Starting producer: Producer[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
>> to producer cache with key: Endpoint[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
>> Producer[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
>> to producer cache with key: Endpoint[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
>> Producer[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) -
>> Executing prepared SQL statement [select * from RPV_DES_OMS_COURSES]
>>  INFO [DefaultQuartzScheduler_Worker-1] (XmlBeanDefinitionReader.java:323)
>> - Loading XML bean definitions from class path resource
>> [org/springframework/jdbc/support/sql-error-codes.xml]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72) -
>> Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) - Found
>> beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in
>> classpath: spring-beans-2.0.dtd
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'DB2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'DB2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'DB2'
>> to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'DB2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'Derby'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'Derby'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'Derby' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'Derby'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'H2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'H2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'H2'
>> to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'H2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'HSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'HSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'HSQL' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'HSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'Informix'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'Informix'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'Informix' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'Informix'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'MS-SQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'MS-SQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'MS-SQL' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'MS-SQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'MySQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'MySQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'MySQL' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'MySQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'Oracle'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'Oracle'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'Oracle' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'Oracle'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'PostgreSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'PostgreSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'PostgreSQL' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'PostgreSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'Sybase'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'Sybase'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'Sybase' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'Sybase'
>>  INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128) -
>> SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL,
>> Oracle, PostgreSQL, Sybase]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201) -
>> Looking up default SQLErrorCodes for DataSource
>> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220) -
>> Database product name cached for DataSource
>> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]:
>> name is 'Oracle'
>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177) -
>> SQL error codes for 'Oracle' found
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate
>> SQLException with Error code '17004', will now try the fallback translator
>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
>> exchange has failed so breaking out of pipeline: Exchange[Message:
>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>> isVolatile: false isDurable: false requestsRecovers: false] Exception:
>> org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
>> exchange has failed so breaking out of pipeline: Exchange[Message:
>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>> isVolatile: false isDurable: false requestsRecovers: false] Exception:
>> org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
>> - This exchange is not handled so its marked as failed: Exchange[Message:
>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>> isVolatile: false isDurable: false requestsRecovers: false]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
>> - This exchange is not handled so its marked as failed: Exchange[Message:
>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>> isVolatile: false isDurable: false requestsRecovers: false]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127)
>> - Setting transaction to rollbackOnly due to exception being thrown:
>> org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127)
>> - Setting transaction to rollbackOnly due to exception being thrown:
>> org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) -
>> Initiating transaction rollback on application exception
>> org.apache.camel.spring.spi.TransactedRuntimeCamelException:
>> org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>>       at
>> org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171)
>>       at
>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
>>       at
>> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
>>       at
>> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
>>       at
>> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>       at
>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>       at
>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>       at
>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>>       at
>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>       at
>> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
>>       at
>> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119)
>>       at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
>>       at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
>>       at
>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
>> Caused by: org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>>       at
>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
>>       at
>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
>>       at
>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
>>       at
>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
>>       at
>> org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43)
>>       at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81)
>>       at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79)
>>       at
>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141)
>>       at
>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78)
>>       at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>       at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>       at
>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>       at
>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>       at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>       at
>> org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
>>       at
>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
>>       ... 15 more
>> Caused by: java.sql.SQLException: Invalid column type
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
>>       at
>> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262)
>>       at
>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
>>       at
>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565)
>>       at
>> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548)
>>       at
>> org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50)
>>       at
>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
>>       ... 34 more
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractPlatformTransactionManager.java:821) - Initiating transaction
>> rollback
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DataSourceTransactionManager.java:273) - Rolling back JDBC transaction on
>> Connection [oracle.jdbc.driver.T4CConnection@19f1bac]
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DataSourceTransactionManager.java:314) - Releasing JDBC Connection
>> [oracle.jdbc.driver.T4CConnection@19f1bac] after transaction
>> DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) -
>> Returning JDBC Connection to DataSource
>>
>>
>> Any clues on this error ?
>>
>> Matt
>>
>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25957173.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: sql throwing oracle 17004 ORA-17004 error

Posted by SoaMattH <ma...@netpacket.com.au>.

Any hints on how to set the exchange message body to be empty ??

Matt






SoaMattH wrote:
> 
> I have the following End point and route:
> 
>   <camel:endpoint id="sabaOmsCoursesSQLEndPoint" 
>     uri="sql:select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/>
> 
> ....
> 
>   <camel:route id="omsSabaCoursesRoute">
>     <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN" />
>     <!-- <camel:policy ref="SABA_READ_ONLY" /> -->
>     <camel:to ref="sabaOmsCoursesSQLEndPoint" />
>     <camel:to uri="bean:sabaCourseService" />
>   </camel:route>
> 
> The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns
> so nothing out of the ordinary.
> 
> 
> 
> 
> When the SQL is called the following Error is given:
> 
> DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread]
> (SimpleJobFactory.java:50) - Producing instance of Job
> 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN',
> class=org.apache.camel.component.quartz.CamelJob
> DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling
> execute on job DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN
> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
> Quartz Job with context: JobExecutionContext: trigger:
> 'Camel.omsSabaCourses job:
> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
> isRecovering: false refireCount: 0
> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
> Quartz Job with context: JobExecutionContext: trigger:
> 'Camel.omsSabaCourses job:
> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
> isRecovering: false refireCount: 0
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractPlatformTransactionManager.java:371) - Creating new transaction
> with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
> DEBUG [DefaultQuartzScheduler_Worker-1] (DriverManagerDataSource.java:163)
> - Creating new JDBC DriverManager Connection to
> [jdbc:oracle:thin:@aserver:1521:sabpdb]
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:202) - Acquired Connection
> [oracle.jdbc.driver.T4CConnection@19f1bac] for JDBC transaction
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:219) - Switching JDBC Connection
> [oracle.jdbc.driver.T4CConnection@19f1bac] to manual commit
> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
> Starting producer: Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
> Starting producer: Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
> to producer cache with key: Endpoint[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
> Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
> to producer cache with key: Endpoint[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
> Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) -
> Executing prepared SQL statement [select * from RPV_DES_OMS_COURSES]
>  INFO [DefaultQuartzScheduler_Worker-1] (XmlBeanDefinitionReader.java:323)
> - Loading XML bean definitions from class path resource
> [org/springframework/jdbc/support/sql-error-codes.xml]
> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72) -
> Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
> DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) - Found
> beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in
> classpath: spring-beans-2.0.dtd
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'DB2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'DB2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'DB2'
> to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'DB2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Derby'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Derby'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Derby' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Derby'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'H2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'H2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'H2'
> to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'H2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'HSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'HSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'HSQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'HSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Informix'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Informix'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Informix' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Informix'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'MS-SQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'MS-SQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'MS-SQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'MS-SQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'MySQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'MySQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'MySQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'MySQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Oracle' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'PostgreSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'PostgreSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'PostgreSQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'PostgreSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Sybase'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Sybase'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Sybase' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Sybase'
>  INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128) -
> SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL,
> Oracle, PostgreSQL, Sybase]
> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201) -
> Looking up default SQLErrorCodes for DataSource
> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]
> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220) -
> Database product name cached for DataSource
> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]:
> name is 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177) -
> SQL error codes for 'Oracle' found
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate
> SQLException with Error code '17004', will now try the fallback translator
> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
> exchange has failed so breaking out of pipeline: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false] Exception:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
> exchange has failed so breaking out of pipeline: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false] Exception:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
> - This exchange is not handled so its marked as failed: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false]
> DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
> - This exchange is not handled so its marked as failed: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false]
> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127)
> - Setting transaction to rollbackOnly due to exception being thrown:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127)
> - Setting transaction to rollbackOnly due to exception being thrown:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) -
> Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> 	at
> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> 	at
> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
> 	at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> 	at
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> 	at
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> 	at
> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
> 	at
> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119)
> 	at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
> 	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
> 	at
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
> Caused by: org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> 	at
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
> 	at
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
> 	at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
> 	at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
> 	at
> org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43)
> 	at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81)
> 	at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79)
> 	at
> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141)
> 	at
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78)
> 	at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> 	at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
> 	at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> 	at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> 	... 15 more
> Caused by: java.sql.SQLException: Invalid column type
> 	at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
> 	at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
> 	at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548)
> 	at
> org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50)
> 	at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
> 	... 34 more
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractPlatformTransactionManager.java:821) - Initiating transaction
> rollback
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:273) - Rolling back JDBC transaction on
> Connection [oracle.jdbc.driver.T4CConnection@19f1bac]
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:314) - Releasing JDBC Connection
> [oracle.jdbc.driver.T4CConnection@19f1bac] after transaction
> DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) -
> Returning JDBC Connection to DataSource
> 
> 
> Any clues on this error ?
> 
> Matt
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25957173.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: sql throwing oracle 17004 ORA-17004 error

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Roman have fixed the bug in the next Camel 2.1 release
https://issues.apache.org/activemq/browse/CAMEL-2077


On Mon, Oct 19, 2009 at 1:33 PM, SoaMattH <ma...@netpacket.com.au> wrote:
>
>
> I have set up my ide with the source so I can debug into the
> SqlProducer.java
>
> When the trigger is a Quartz Cron as I have in an XML Route
> line 50 in SqlProducer.java gets executed. - It proberably should not
>
> THe iterator ends up containing:
> From Eclipse Debugger:
> ----------------------
> Exchange[Message: JobDetail
> 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':  jobClass:
> 'org.apache.camel.component.quartz.CamelJob isStateful: false isVolatile:
> false isDurable: false requestsRecovers: false]
>
>
> So the line 50 tries to set the Prepared statement to the details of my
> quartz job which is clearly
> a bug ....
>     ps.setObject(argNumber++, iterator.next());
>
> So It seems I neet to put a step in my route to set the message to nothing
> ......
>
>
>
>
> SoaMattH wrote:
>>
>> I have the following End point and route:
>>
>>   <camel:endpoint id="sabaOmsCoursesSQLEndPoint"
>>     uri="sql:select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/>
>>
>> ....
>>
>>   <camel:route id="omsSabaCoursesRoute">
>>     <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN" />
>>     <!-- <camel:policy ref="SABA_READ_ONLY" /> -->
>>     <camel:to ref="sabaOmsCoursesSQLEndPoint" />
>>     <camel:to uri="bean:sabaCourseService" />
>>   </camel:route>
>>
>> The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns
>> so nothing out of the ordinary.
>>
>>
>>
>>
>> When the SQL is called the following Error is given:
>>
>> DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread]
>> (SimpleJobFactory.java:50) - Producing instance of Job
>> 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN',
>> class=org.apache.camel.component.quartz.CamelJob
>> DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling
>> execute on job DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN
>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
>> Quartz Job with context: JobExecutionContext: trigger:
>> 'Camel.omsSabaCourses job:
>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
>> isRecovering: false refireCount: 0
>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
>> Quartz Job with context: JobExecutionContext: trigger:
>> 'Camel.omsSabaCourses job:
>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
>> isRecovering: false refireCount: 0
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractPlatformTransactionManager.java:371) - Creating new transaction
>> with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
>> DEBUG [DefaultQuartzScheduler_Worker-1] (DriverManagerDataSource.java:163)
>> - Creating new JDBC DriverManager Connection to
>> [jdbc:oracle:thin:@aserver:1521:sabpdb]
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DataSourceTransactionManager.java:202) - Acquired Connection
>> [oracle.jdbc.driver.T4CConnection@19f1bac] for JDBC transaction
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DataSourceTransactionManager.java:219) - Switching JDBC Connection
>> [oracle.jdbc.driver.T4CConnection@19f1bac] to manual commit
>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
>> Starting producer: Producer[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
>> Starting producer: Producer[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
>> to producer cache with key: Endpoint[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
>> Producer[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
>> to producer cache with key: Endpoint[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
>> Producer[sql://select * from
>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) -
>> Executing prepared SQL statement [select * from RPV_DES_OMS_COURSES]
>>  INFO [DefaultQuartzScheduler_Worker-1] (XmlBeanDefinitionReader.java:323)
>> - Loading XML bean definitions from class path resource
>> [org/springframework/jdbc/support/sql-error-codes.xml]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72) -
>> Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) - Found
>> beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in
>> classpath: spring-beans-2.0.dtd
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'DB2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'DB2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'DB2'
>> to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'DB2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'Derby'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'Derby'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'Derby' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'Derby'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'H2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'H2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'H2'
>> to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'H2'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'HSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'HSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'HSQL' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'HSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'Informix'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'Informix'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'Informix' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'Informix'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'MS-SQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'MS-SQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'MS-SQL' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'MS-SQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'MySQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'MySQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'MySQL' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'MySQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'Oracle'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'Oracle'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'Oracle' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'Oracle'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'PostgreSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'PostgreSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'PostgreSQL' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'PostgreSQL'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
>> singleton bean 'Sybase'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
>> 'Sybase'
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
>> 'Sybase' to allow for resolving potential circular references
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
>> of bean 'Sybase'
>>  INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128) -
>> SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL,
>> Oracle, PostgreSQL, Sybase]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201) -
>> Looking up default SQLErrorCodes for DataSource
>> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220) -
>> Database product name cached for DataSource
>> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]:
>> name is 'Oracle'
>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177) -
>> SQL error codes for 'Oracle' found
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate
>> SQLException with Error code '17004', will now try the fallback translator
>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
>> exchange has failed so breaking out of pipeline: Exchange[Message:
>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>> isVolatile: false isDurable: false requestsRecovers: false] Exception:
>> org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
>> exchange has failed so breaking out of pipeline: Exchange[Message:
>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>> isVolatile: false isDurable: false requestsRecovers: false] Exception:
>> org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
>> - This exchange is not handled so its marked as failed: Exchange[Message:
>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>> isVolatile: false isDurable: false requestsRecovers: false]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
>> - This exchange is not handled so its marked as failed: Exchange[Message:
>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':
>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
>> isVolatile: false isDurable: false requestsRecovers: false]
>> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127)
>> - Setting transaction to rollbackOnly due to exception being thrown:
>> org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127)
>> - Setting transaction to rollbackOnly due to exception being thrown:
>> org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) -
>> Initiating transaction rollback on application exception
>> org.apache.camel.spring.spi.TransactedRuntimeCamelException:
>> org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>>       at
>> org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171)
>>       at
>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
>>       at
>> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
>>       at
>> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
>>       at
>> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>       at
>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>       at
>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>       at
>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
>>       at
>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>       at
>> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
>>       at
>> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119)
>>       at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
>>       at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
>>       at
>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
>> Caused by: org.springframework.jdbc.UncategorizedSQLException:
>> PreparedStatementCallback; uncategorized SQLException for SQL [select *
>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
>> column type; nested exception is java.sql.SQLException: Invalid column
>> type
>>       at
>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
>>       at
>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
>>       at
>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
>>       at
>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
>>       at
>> org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43)
>>       at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81)
>>       at
>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79)
>>       at
>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141)
>>       at
>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78)
>>       at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>       at
>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>       at
>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>       at
>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
>>       at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
>>       at
>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>       at
>> org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
>>       at
>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
>>       ... 15 more
>> Caused by: java.sql.SQLException: Invalid column type
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
>>       at
>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
>>       at
>> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262)
>>       at
>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
>>       at
>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565)
>>       at
>> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548)
>>       at
>> org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50)
>>       at
>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
>>       ... 34 more
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (AbstractPlatformTransactionManager.java:821) - Initiating transaction
>> rollback
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DataSourceTransactionManager.java:273) - Rolling back JDBC transaction on
>> Connection [oracle.jdbc.driver.T4CConnection@19f1bac]
>> DEBUG [DefaultQuartzScheduler_Worker-1]
>> (DataSourceTransactionManager.java:314) - Releasing JDBC Connection
>> [oracle.jdbc.driver.T4CConnection@19f1bac] after transaction
>> DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) -
>> Returning JDBC Connection to DataSource
>>
>>
>> Any clues on this error ?
>>
>> Matt
>>
>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25956806.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: sql throwing oracle 17004 ORA-17004 error

Posted by SoaMattH <ma...@netpacket.com.au>.

I have set up my ide with the source so I can debug into the 
SqlProducer.java

When the trigger is a Quartz Cron as I have in an XML Route
line 50 in SqlProducer.java gets executed. - It proberably should not

THe iterator ends up containing:
>From Eclipse Debugger:
----------------------
Exchange[Message: JobDetail
'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN':  jobClass:
'org.apache.camel.component.quartz.CamelJob isStateful: false isVolatile:
false isDurable: false requestsRecovers: false]


So the line 50 tries to set the Prepared statement to the details of my
quartz job which is clearly
a bug ....
     ps.setObject(argNumber++, iterator.next());

So It seems I neet to put a step in my route to set the message to nothing
......




SoaMattH wrote:
> 
> I have the following End point and route:
> 
>   <camel:endpoint id="sabaOmsCoursesSQLEndPoint" 
>     uri="sql:select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/>
> 
> ....
> 
>   <camel:route id="omsSabaCoursesRoute">
>     <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN" />
>     <!-- <camel:policy ref="SABA_READ_ONLY" /> -->
>     <camel:to ref="sabaOmsCoursesSQLEndPoint" />
>     <camel:to uri="bean:sabaCourseService" />
>   </camel:route>
> 
> The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns
> so nothing out of the ordinary.
> 
> 
> 
> 
> When the SQL is called the following Error is given:
> 
> DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread]
> (SimpleJobFactory.java:50) - Producing instance of Job
> 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN',
> class=org.apache.camel.component.quartz.CamelJob
> DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling
> execute on job DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN
> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
> Quartz Job with context: JobExecutionContext: trigger:
> 'Camel.omsSabaCourses job:
> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
> isRecovering: false refireCount: 0
> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - Firing
> Quartz Job with context: JobExecutionContext: trigger:
> 'Camel.omsSabaCourses job:
> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: 'Mon
> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009
> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009
> isRecovering: false refireCount: 0
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractPlatformTransactionManager.java:371) - Creating new transaction
> with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
> DEBUG [DefaultQuartzScheduler_Worker-1] (DriverManagerDataSource.java:163)
> - Creating new JDBC DriverManager Connection to
> [jdbc:oracle:thin:@aserver:1521:sabpdb]
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:202) - Acquired Connection
> [oracle.jdbc.driver.T4CConnection@19f1bac] for JDBC transaction
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:219) - Switching JDBC Connection
> [oracle.jdbc.driver.T4CConnection@19f1bac] to manual commit
> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
> Starting producer: Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) -
> Starting producer: Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
> to producer cache with key: Endpoint[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
> Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - Adding
> to producer cache with key: Endpoint[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer:
> Producer[sql://select * from
> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource]
> DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) -
> Executing prepared SQL statement [select * from RPV_DES_OMS_COURSES]
>  INFO [DefaultQuartzScheduler_Worker-1] (XmlBeanDefinitionReader.java:323)
> - Loading XML bean definitions from class path resource
> [org/springframework/jdbc/support/sql-error-codes.xml]
> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72) -
> Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
> DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) - Found
> beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in
> classpath: spring-beans-2.0.dtd
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'DB2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'DB2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'DB2'
> to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'DB2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Derby'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Derby'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Derby' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Derby'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'H2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'H2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean 'H2'
> to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'H2'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'HSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'HSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'HSQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'HSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Informix'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Informix'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Informix' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Informix'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'MS-SQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'MS-SQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'MS-SQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'MS-SQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'MySQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'MySQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'MySQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'MySQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Oracle' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'PostgreSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'PostgreSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'PostgreSQL' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'PostgreSQL'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of
> singleton bean 'Sybase'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of bean
> 'Sybase'
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean
> 'Sybase' to allow for resolving potential circular references
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating instance
> of bean 'Sybase'
>  INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128) -
> SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL,
> Oracle, PostgreSQL, Sybase]
> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201) -
> Looking up default SQLErrorCodes for DataSource
> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]
> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220) -
> Database product name cached for DataSource
> [org.springframework.jdbc.datasource.DriverManagerDataSource@19c123d]:
> name is 'Oracle'
> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177) -
> SQL error codes for 'Oracle' found
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate
> SQLException with Error code '17004', will now try the fallback translator
> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
> exchange has failed so breaking out of pipeline: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false] Exception:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message
> exchange has failed so breaking out of pipeline: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false] Exception:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed
> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery
> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
> - This exchange is not handled so its marked as failed: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false]
> DEBUG [DefaultQuartzScheduler_Worker-1] (RedeliveryErrorHandler.java:361)
> - This exchange is not handled so its marked as failed: Exchange[Message:
> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': 
> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false
> isVolatile: false isDurable: false requestsRecovers: false]
> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127)
> - Setting transaction to rollbackOnly due to exception being thrown:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionErrorHandler.java:127)
> - Setting transaction to rollbackOnly due to exception being thrown:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) -
> Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException:
> org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> 	at
> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> 	at
> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
> 	at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> 	at
> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> 	at
> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> 	at
> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
> 	at
> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119)
> 	at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
> 	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
> 	at
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
> Caused by: org.springframework.jdbc.UncategorizedSQLException:
> PreparedStatementCallback; uncategorized SQLException for SQL [select *
> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid
> column type; nested exception is java.sql.SQLException: Invalid column
> type
> 	at
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
> 	at
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
> 	at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
> 	at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619)
> 	at
> org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43)
> 	at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81)
> 	at
> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79)
> 	at
> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141)
> 	at
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78)
> 	at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> 	at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
> 	at
> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> 	at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> 	at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> 	at
> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> 	... 15 more
> Caused by: java.sql.SQLException: Invalid column type
> 	at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
> 	at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
> 	at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565)
> 	at
> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548)
> 	at
> org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50)
> 	at
> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
> 	... 34 more
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (AbstractPlatformTransactionManager.java:821) - Initiating transaction
> rollback
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:273) - Rolling back JDBC transaction on
> Connection [oracle.jdbc.driver.T4CConnection@19f1bac]
> DEBUG [DefaultQuartzScheduler_Worker-1]
> (DataSourceTransactionManager.java:314) - Releasing JDBC Connection
> [oracle.jdbc.driver.T4CConnection@19f1bac] after transaction
> DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) -
> Returning JDBC Connection to DataSource
> 
> 
> Any clues on this error ?
> 
> Matt
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25956806.html
Sent from the Camel - Users mailing list archive at Nabble.com.