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/>
>
>