You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Emiliano Armellin <ea...@ateikon.com> on 2004/12/03 16:05:51 UTC

CLOB on Oracle

Hello,

I have a String variable in my java bean ("contenuto") and I have to 
populate with this string value a CLOB field on a table in  Oracle 9i DB.
Wel,l I receive this exception:

|org.springframework.jdbc.UncategorizedSQLException: 
(SqlMapClientTemplate): encountered SQLException [ 
--- The error occurred in 
com/ateikon/internet/atkim/dao/ibatis/maps/AtkMessaggio.xml. 
--- The error occurred while applying a parameter map. 
--- Check the insertAtkMessaggioItem-InlineParameterMap. 
--- Check the parameter mapping for the 'contenuto' property. 
--- Cause: java.sql.SQLException: Data size bigger than max size for 
this type: 5650]; nested exception is 
com.ibatis.common.jdbc.exception.NestedSQLException:  
--- The error occurred in 
com/ateikon/internet/atkim/dao/ibatis/maps/AtkMessaggio.xml. 
--- The error occurred while applying a parameter map. 
--- Check the insertAtkMessaggioItem-InlineParameterMap. 
--- Check the parameter mapping for the 'contenuto' property. 
--- Cause: java.sql.SQLException: Data size bigger than max size for 
this type: 5650
com.ibatis.common.jdbc.exception.NestedSQLException:  
--- The error occurred in 
com/ateikon/internet/atkim/dao/ibatis/maps/AtkMessaggio.xml. 
--- The error occurred while applying a parameter map. 
--- Check the insertAtkMessaggioItem-InlineParameterMap. 
--- Check the parameter mapping for the 'contenuto' property. 
--- Cause: java.sql.SQLException: Data size bigger than max size for 
this type: 5650
Caused by: java.sql.SQLException: Data size bigger than max size for 
this type: 5650
    at 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:86)
    at 
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:266)
    at 
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:70)
    at 
org.springframework.orm.ibatis.SqlMapClientTemplate$10.doInSqlMapClient(SqlMapClientTemplate.java:281)
    at 
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:142)
    at 
org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:279)
    at 
com.ateikon.internet.atkim.dao.ibatis.SqlMapAtkMessaggioDao.insertItem(SqlMapAtkMessaggioDao.java:41)
    at 
com.ateikon.internet.atkim.domain.logic.AtkimImpl.insertMail_NN(AtkimImpl.java:249)
    at java.lang.reflect.Method.invoke(Native Method)
    at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:295)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:154)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:121)
    at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:143)
    at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
    at $Proxy0.insertMail_NN(Unknown Source)
    at 
com.ateikon.internet.atkim.web.spring.SendMailController.handleRequestInternal(SendMailController.java:236)
    at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:128)
    at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
    at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:532)
    at 
org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:366)
    at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:317)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at 
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721)
    at 
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
    at 
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
    at 
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
    at 
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
    at 
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
    at java.lang.Thread.run(Unknown Source)

|what can I do?


-- 
Emiliano Armellin

    *
      W_
      www.ateikon.com <http://www.ateikon.com>
    *
      @_
      earmellin@ateikon.com <ma...@ateikon.com>
    *
      T_
      *+39 0422 452101*

Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id=15653&t=86>
Get Thunderbird <http://www.mozilla.org/products/thunderbird/>

Re: CLOB on Oracle

Posted by Emiliano Armellin <ea...@ateikon.com>.
I've seen the Content.xml example. Is it not necessary to declare the 
data type in the insert statement for the string  variable that will 
populate the CLOB field? or the custom type handler in a parameter map 
(like it is for the result map in the example) ?


however thanks, I'll try it next week.

-- 
Emiliano Armellin

    *
      W_
      www.ateikon.com <http://www.ateikon.com>
    *
      @_
      earmellin@ateikon.com <ma...@ateikon.com>
    *
      T_
      *+39 0422 452101*

Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id=15653&t=86>
Get Thunderbird <http://www.mozilla.org/products/thunderbird/>


Clinton Begin wrote:

>Hi,
>
>CLOB isn't supported directly.  At this time, you need to write a
>custom type handler (because most CLOB implementations are vendor
>specific).  Luckily there is one available for download here:
>
>http://nagoya.apache.org/jira/browse/IBATIS-4
>
>Look for iBATISClob.zip 
>
>Cheers,
>Clinton
>
>  
>



Re: CLOB on Oracle

Posted by Emiliano Armellin <ea...@ateikon.com>.
Clinton Begin wrote:

>Hi,
>
>CLOB isn't supported directly.  At this time, you need to write a
>custom type handler (because most CLOB implementations are vendor
>specific).  Luckily there is one available for download here:
>
>http://nagoya.apache.org/jira/browse/IBATIS-4
>
>Look for iBATISClob.zip 
>
>Cheers,
>Clinton
>

well, I've tried OracleClobTypeHandlerCallback in the zip and... it 
doesn't function!

|on insert I've got:
            org.springframework.jdbc.UncategorizedSQLException: 
(SqlMapClientTemplate): encountered SQLException [ 
--- The error occurred in 
com/ateikon/internet/atkim/dao/ibatis/maps/AtkMessaggio.xml. 
--- The error occurred while applying a parameter map. 
--- Check the AtkMessaggio.insert-params. 
--- Check the parameter mapping for the 'contenuto' property. 
--- Cause: java.sql.SQLException: Data size bigger than max size for 
this type: 5650]; nested exception is 
com.ibatis.common.jdbc.exception.NestedSQLException:  
--- The error occurred in 
com/ateikon/internet/atkim/dao/ibatis/maps/AtkMessaggio.xml. 
--- The error occurred while applying a parameter map. 
--- Check the AtkMessaggio.insert-params. 
--- Check the parameter mapping for the 'contenuto' property. 
--- Cause: java.sql.SQLException: Data size bigger than max size for 
this type: 5650
com.ibatis.common.jdbc.exception.NestedSQLException:  
--- The error occurred in 
com/ateikon/internet/atkim/dao/ibatis/maps/AtkMessaggio.xml. 
--- The error occurred while applying a parameter map. 
--- Check the AtkMessaggio.insert-params. 
--- Check the parameter mapping for the 'contenuto' property. 
--- Cause: java.sql.SQLException: Data size bigger than max size for 
this type: 5650
Caused by: java.sql.SQLException: Data size bigger than max size for 
this type: 5650
    at 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:86)
    at 
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:266)
    at 
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:70)
    at 
org.springframework.orm.ibatis.SqlMapClientTemplate$10.doInSqlMapClient(SqlMapClientTemplate.java:281)
    at 
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:142)
    at 
org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:279)
    at 
com.ateikon.internet.atkim.dao.ibatis.SqlMapAtkMessaggioDao.insertItem(SqlMapAtkMessaggioDao.java:41)
    at 
com.ateikon.internet.atkim.domain.logic.AtkimImpl.insertMail_NN(AtkimImpl.java:249)
    at java.lang.reflect.Method.invoke(Native Method)
    at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:295)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:154)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:121)
    at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:143)
    at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
    at $Proxy4.insertMail_NN(Unknown Source)
    at 
com.ateikon.internet.atkim.web.spring.SendMailController.handleRequestInternal(SendMailController.java:236)
    at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:128)
    at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
    at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:532)
    at 
org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:366)
    at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:317)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at 
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721)
    at 
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
    at 
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
    at 
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
    at 
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
    at 
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
    at java.lang.Thread.run(Unknown Source)

Caused by:
java.sql.SQLException: Data size bigger than max size for this type: 5650
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
    at oracle.jdbc.ttc7.TTCItem.setArrayData(TTCItem.java:126)
    at 
oracle.jdbc.dbaccess.DBDataSetImpl.setBytesBindItem(DBDataSetImpl.java:1794)
    at 
oracle.jdbc.driver.OraclePreparedStatement.setItem(OraclePreparedStatement.java:1005)
    at 
oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:1387)
    at 
org.apache.commons.dbcp.DelegatingPreparedStatement.setString(DelegatingPreparedStatement.java:131)
    at 
com.ibatis.sqlmap.engine.type.ParameterSetterImpl.setString(ParameterSetterImpl.java:130)
    at 
com.ateikon.internet.generic.dao.ibatis.TypeHandler.OracleClobTypeHandlerCallback.setParameter(OracleClobTypeHandlerCallback.java:74)
    at 
com.ibatis.sqlmap.engine.type.CustomTypeHandler.setParameter(CustomTypeHandler.java:38)
    at 
com.ibatis.sqlmap.engine.mapping.parameter.BasicParameterMap.setParameter(BasicParameterMap.java:165)
    at 
com.ibatis.sqlmap.engine.mapping.parameter.BasicParameterMap.setParameters(BasicParameterMap.java:125)
    at 
com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:65)
    at 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:195)
    at 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:73)
    at 
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:266)
    at 
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:70)
    at 
org.springframework.orm.ibatis.SqlMapClientTemplate$10.doInSqlMapClient(SqlMapClientTemplate.java:281)
    at 
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:142)
    at 
org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:279)
    at 
com.ateikon.internet.atkim.dao.ibatis.SqlMapAtkMessaggioDao.insertItem(SqlMapAtkMessaggioDao.java:41)
    at 
com.ateikon.internet.atkim.domain.logic.AtkimImpl.insertMail_NN(AtkimImpl.java:249)
    at java.lang.reflect.Method.invoke(Native Method)
    at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:295)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:154)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:121)
    at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:143)
    at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
    at $Proxy4.insertMail_NN(Unknown Source)
    at 
com.ateikon.internet.atkim.web.spring.SendMailController.handleRequestInternal(SendMailController.java:236)
    at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:128)
    at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
    at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:532)
    at 
org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:366)
    at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:317)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at 
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721)
    at 
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
    at 
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
    at 
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
    at 
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
    at 
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
    at java.lang.Thread.run(Unknown Source)|


help me please...

-- 
Emiliano Armellin

    *
      W_
      www.ateikon.com <http://www.ateikon.com>
    *
      @_
      earmellin@ateikon.com <ma...@ateikon.com>
    *
      T_
      *+39 0422 452101*

Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id=15653&t=86>
Get Thunderbird <http://www.mozilla.org/products/thunderbird/>

Re: CLOB on Oracle

Posted by Clinton Begin <cl...@gmail.com>.
Hi,

CLOB isn't supported directly.  At this time, you need to write a
custom type handler (because most CLOB implementations are vendor
specific).  Luckily there is one available for download here:

http://nagoya.apache.org/jira/browse/IBATIS-4

Look for iBATISClob.zip 

Cheers,
Clinton


On Fri, 03 Dec 2004 16:05:51 +0100, Emiliano Armellin
<ea...@ateikon.com> wrote:
> Hello,
> 
> I have a String variable in my java bean ("contenuto") and I have to
> populate with this string value a CLOB field on a table in  Oracle 9i DB.
> Wel,l I receive this exception:
> 
> |org.springframework.jdbc.UncategorizedSQLException:
> (SqlMapClientTemplate): encountered SQLException [
> --- The error occurred in
> com/ateikon/internet/atkim/dao/ibatis/maps/AtkMessaggio.xml.
> --- The error occurred while applying a parameter map.
> --- Check the insertAtkMessaggioItem-InlineParameterMap.
> --- Check the parameter mapping for the 'contenuto' property.
> --- Cause: java.sql.SQLException: Data size bigger than max size for
> this type: 5650]; nested exception is
> com.ibatis.common.jdbc.exception.NestedSQLException:
> --- The error occurred in
> com/ateikon/internet/atkim/dao/ibatis/maps/AtkMessaggio.xml.
> --- The error occurred while applying a parameter map.
> --- Check the insertAtkMessaggioItem-InlineParameterMap.
> --- Check the parameter mapping for the 'contenuto' property.
> --- Cause: java.sql.SQLException: Data size bigger than max size for
> this type: 5650
> com.ibatis.common.jdbc.exception.NestedSQLException:
> --- The error occurred in
> com/ateikon/internet/atkim/dao/ibatis/maps/AtkMessaggio.xml.
> --- The error occurred while applying a parameter map.
> --- Check the insertAtkMessaggioItem-InlineParameterMap.
> --- Check the parameter mapping for the 'contenuto' property.
> --- Cause: java.sql.SQLException: Data size bigger than max size for
> this type: 5650
> Caused by: java.sql.SQLException: Data size bigger than max size for
> this type: 5650
>    at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:86)
>    at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:266)
>    at
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:70)
>    at
> org.springframework.orm.ibatis.SqlMapClientTemplate$10.doInSqlMapClient(SqlMapClientTemplate.java:281)
>    at
> org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:142)
>    at
> org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:279)
>    at
> com.ateikon.internet.atkim.dao.ibatis.SqlMapAtkMessaggioDao.insertItem(SqlMapAtkMessaggioDao.java:41)
>    at
> com.ateikon.internet.atkim.domain.logic.AtkimImpl.insertMail_NN(AtkimImpl.java:249)
>    at java.lang.reflect.Method.invoke(Native Method)
>    at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:295)
>    at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:154)
>    at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:121)
>    at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
>    at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:143)
>    at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
>    at $Proxy0.insertMail_NN(Unknown Source)
>    at
> com.ateikon.internet.atkim.web.spring.SendMailController.handleRequestInternal(SendMailController.java:236)
>    at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:128)
>    at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
>    at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:532)
>    at
> org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:366)
>    at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:317)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>    at
> com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721)
>    at
> com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
>    at
> com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
>    at
> com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
>    at
> com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
>    at
> EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
>    at java.lang.Thread.run(Unknown Source)
> 
> |what can I do?
> 
> --
> Emiliano Armellin
> 
>    *
>      W_
>      www.ateikon.com <http://www.ateikon.com>
>    *
>      @_
>      earmellin@ateikon.com <ma...@ateikon.com>
>    *
>      T_
>      *+39 0422 452101*
> 
> Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id=15653&t=86>
> Get Thunderbird <http://www.mozilla.org/products/thunderbird/>
> 
>