Return-Path: Delivered-To: apmail-incubator-ibatis-user-java-archive@www.apache.org Received: (qmail 29387 invoked from network); 9 Jun 2005 17:06:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 9 Jun 2005 17:06:56 -0000 Received: (qmail 3121 invoked by uid 500); 9 Jun 2005 17:06:55 -0000 Delivered-To: apmail-incubator-ibatis-user-java-archive@incubator.apache.org Received: (qmail 3104 invoked by uid 500); 9 Jun 2005 17:06:55 -0000 Mailing-List: contact ibatis-user-java-help@incubator.apache.org; run by ezmlm Precedence: bulk Reply-To: ibatis-user-java@incubator.apache.org List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list ibatis-user-java@incubator.apache.org Received: (qmail 3090 invoked by uid 99); 9 Jun 2005 17:06:55 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from wanderer.mr.itd.umich.edu (HELO wanderer.mr.itd.umich.edu) (141.211.93.146) by apache.org (qpsmtpd/0.28) with ESMTP; Thu, 09 Jun 2005 10:06:52 -0700 Received: from [141.214.41.14] (host-14.subnet-41.med.umich.edu [141.214.41.14]) by wanderer.mr.itd.umich.edu (smtp) with ESMTP id j59H5trj001183 for ; Thu, 9 Jun 2005 13:05:55 -0400 Message-ID: <42A876EE.6010108@umich.edu> Date: Thu, 09 Jun 2005 13:05:50 -0400 From: Henry Lu User-Agent: Mozilla Thunderbird 0.7.3 (Windows/20040803) X-Accept-Language: en-us, en MIME-Version: 1.0 To: ibatis-user-java@incubator.apache.org Subject: Re: 32k limitations for clob/blob? References: <42A6FF29.5080107@ateikon.com> <2fe5ef5b05060807356540f7b6@mail.gmail.com> <2fe5ef5b05060807576ea0a9d3@mail.gmail.com> <2fe5ef5b05060808337d4d2e1@mail.gmail.com> <42A861EA.7070602@umich.edu> <2fe5ef5b05060909522ee0fbf7@mail.gmail.com> In-Reply-To: <2fe5ef5b05060909522ee0fbf7@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N No, I didn't. However, I got more details on the errors. 1. If I insert into CLOB or LONG as jdbc type with String in java, I got the 32K limitation error. [java] size=1551138, 1551138 [java] org.springframework.jdbc.UncategorizedSQLException: (SqlMapClientTem plate): encountered SQLException [ [java] --- The error occurred in ibatis_map/AccessDB.xml. [java] --- The error occurred while applying a parameter map. [java] --- Check the insert_long-InlineParameterMap. [java] --- Check the parameter mapping for the 'l' property. [java] --- Cause: java.sql.SQLException: setString can only process strings of less than 32766 chararacters]; nested exception is com.ibatis.common.jdbc.ex ception.NestedSQLException: [java] --- The error occurred in ibatis_map/AccessDB.xml. [java] --- The error occurred while applying a parameter map. [java] --- Check the insert_long-InlineParameterMap. [java] --- Check the parameter mapping for the 'l' property. [java] --- Cause: java.sql.SQLException: setString can only process strings of less than 32766 chararacters 2. If I insert into CLOB or LONG as jdbc type with byte[] in java, I got the following errors: [java] size=1461140, 1461140 [java] org.springframework.jdbc.UncategorizedSQLException: (SqlMapClientTem plate): encountered SQLException [ [java] --- The error occurred in ibatis_map/AccessDB.xml. [java] --- The error occurred while applying a parameter map. [java] --- Check the insert_long-InlineParameterMap. [java] --- Check the statement (update failed). [java] --- Cause: java.sql.SQLException: ORA-01461: can bind a LONG value o nly for insert into a LONG column [java] ]; nested exception is com.ibatis.common.jdbc.exception.NestedSQLExc eption: [java] --- The error occurred in ibatis_map/AccessDB.xml. [java] --- The error occurred while applying a parameter map. [java] --- Check the insert_long-InlineParameterMap. [java] --- Check the statement (update failed). [java] --- Cause: java.sql.SQLException: ORA-01461: can bind a LONG value o nly for insert into a LONG column Any idea? -Henry Brandon Goodin wrote: >I'm not aware of this limitation. We have run into similar things >before with the oracle driver. But, upgrading has always fixed it. >Have you attempted a test using straight JDBC? > >Brandon > >On 6/9/05, Henry Lu wrote: > > >>I got the following errors when I insert a large text into a CLOB in >>oracle by using iBatis. How do I resulve it? I am using Oracle 10G jdbc >>deiver. >> >> >>org.springframework.jdbc.UncategorizedSQLException: >>(SqlMapClientTemplate): encountered SQLException [ >>--- The error occurred in >>edu/umich/med/umms/tgsubmission/dao/ibatis_map/tgs_info_trainee.xml. >>--- The error occurred while applying a parameter map. >>--- Check the Tgs_info_trainee.insert_Tgs_info_trainee_map. >>--- Check the parameter mapping for the 'INFO_TEXT' property. >>--- Cause: java.sql.SQLException: setString can only process strings of >>less than 32766 chararacters]; nested exception is >>com.ibatis.common.jdbc.exception.NestedSQLException: >>--- The error occurred in >>edu/umich/med/umms/tgsubmission/dao/ibatis_map/tgs_info_trainee.xml. >>--- The error occurred while applying a parameter map. >>--- Check the Tgs_info_trainee.insert_Tgs_info_trainee_map. >>--- Check the parameter mapping for the 'INFO_TEXT' property. >>--- Cause: java.sql.SQLException: setString can only process strings of >>less than 32766 chararacters >>org.springframework.jdbc.UncategorizedSQLException: >>(SqlMapClientTemplate): encountered SQLException [ >>--- The error occurred in >>edu/umich/med/umms/tgsubmission/dao/ibatis_map/tgs_info_trainee.xml. >>--- The error occurred while applying a parameter map. >>--- Check the Tgs_info_trainee.insert_Tgs_info_trainee_map. >>--- Check the parameter mapping for the 'INFO_TEXT' property. >>--- Cause: java.sql.SQLException: setString can only process strings of >>less than 32766 chararacters]; nested exception is >>com.ibatis.common.jdbc.exception.NestedSQLException: >>--- The error occurred in >>edu/umich/med/umms/tgsubmission/dao/ibatis_map/tgs_info_trainee.xml. >>--- The error occurred while applying a parameter map. >>--- Check the Tgs_info_trainee.insert_Tgs_info_trainee_map. >>--- Check the parameter mapping for the 'INFO_TEXT' property. >>--- Cause: java.sql.SQLException: setString can only process strings of >>less than 32766 chararacters >>com.ibatis.common.jdbc.exception.NestedSQLException: >>--- The error occurred in >>edu/umich/med/umms/tgsubmission/dao/ibatis_map/tgs_info_trainee.xml. >>--- The error occurred while applying a parameter map. >>--- Check the Tgs_info_trainee.insert_Tgs_info_trainee_map. >>--- Check the parameter mapping for the 'INFO_TEXT' property. >>--- Cause: java.sql.SQLException: setString can only process strings of >>less than 32766 chararacters >>Caused by: java.sql.SQLException: setString can only process strings of >>less than 32766 chararacters >> at >>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:87) >> at >>com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:500) >> at >>com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:89) >> at >>org.springframework.orm.ibatis.SqlMapClientTemplate$11.doInSqlMapClient(SqlMapClientTemplate.java:282) >> at >>org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:140) >> at >>org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:280) >> at >>edu.umich.med.umms.tgsubmission.dao.sql.Tgs_info_traineeDaoSql.insertTgs_info_trainee(Tgs_info_traineeDaoSql.java:67) >> at >>unit.edu.umich.med.umms.tgsubmission.dao.Tgs_info_traineeDaoSqlTestCase.doTestInsert(Tgs_info_traineeDaoSqlTestCase.java:100) >> at >>unit.edu.umich.med.umms.tgsubmission.dao.Tgs_info_traineeDaoSqlTestCase.testAll(Tgs_info_traineeDaoSqlTestCase.java:64) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >> at java.lang.reflect.Method.invoke(Unknown Source) >> at junit.framework.TestCase.runTest(TestCase.java:154) >> at junit.framework.TestCase.runBare(TestCase.java:127) >> at junit.framework.TestResult$1.protect(TestResult.java:106) >> at junit.framework.TestResult.runProtected(TestResult.java:124) >> at junit.framework.TestResult.run(TestResult.java:109) >> at junit.framework.TestCase.run(TestCase.java:118) >> at junit.framework.TestSuite.runTest(TestSuite.java:208) >> at junit.framework.TestSuite.run(TestSuite.java:203) >> at >>org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474) >> at >>org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342) >> at >>org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194) >>Caused by: java.sql.SQLException: setString can only process strings of >>less than 32766 chararacters >> at >>oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) >> at >>oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162) >> at >>oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227) >> at >>oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:4588) >> at >>oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:4559) >> at >>com.ibatis.sqlmap.engine.type.ParameterSetterImpl.setString(ParameterSetterImpl.java:139) >> at >>com.ibatis.sqlmap.engine.type.ClobTypeHandlerCallback.setParameter(ClobTypeHandlerCallback.java:45) >> at >>com.ibatis.sqlmap.engine.type.CustomTypeHandler.setParameter(CustomTypeHandler.java:46) >> 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:80) >> at >>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:196) >> at >>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:74) >> ... 23 more >> >>Caused by: >>java.sql.SQLException: setString can only process strings of less than >>32766 chararacters >> at >>oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) >> at >>oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162) >> at >>oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227) >> at >>oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:4588) >> at >>oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:4559) >> at >>com.ibatis.sqlmap.engine.type.ParameterSetterImpl.setString(ParameterSetterImpl.java:139) >> at >>com.ibatis.sqlmap.engine.type.ClobTypeHandlerCallback.setParameter(ClobTypeHandlerCallback.java:45) >> at >>com.ibatis.sqlmap.engine.type.CustomTypeHandler.setParameter(CustomTypeHandler.java:46) >> 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:80) >> at >>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:196) >> at >>com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:74) >> at >>com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:500) >> at >>com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:89) >> at >>org.springframework.orm.ibatis.SqlMapClientTemplate$11.doInSqlMapClient(SqlMapClientTemplate.java:282) >> at >>org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:140) >> at >>org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:280) >> at >>edu.umich.med.umms.tgsubmission.dao.sql.Tgs_info_traineeDaoSql.insertTgs_info_trainee(Tgs_info_traineeDaoSql.java:67) >> at >>unit.edu.umich.med.umms.tgsubmission.dao.Tgs_info_traineeDaoSqlTestCase.doTestInsert(Tgs_info_traineeDaoSqlTestCase.java:100) >> at >>unit.edu.umich.med.umms.tgsubmission.dao.Tgs_info_traineeDaoSqlTestCase.testAll(Tgs_info_traineeDaoSqlTestCase.java:64) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >> at java.lang.reflect.Method.invoke(Unknown Source) >> at junit.framework.TestCase.runTest(TestCase.java:154) >> at junit.framework.TestCase.runBare(TestCase.java:127) >> at junit.framework.TestResult$1.protect(TestResult.java:106) >> at junit.framework.TestResult.runProtected(TestResult.java:124) >> at junit.framework.TestResult.run(TestResult.java:109) >> at junit.framework.TestCase.run(TestCase.java:118) >> at junit.framework.TestSuite.runTest(TestSuite.java:208) >> at junit.framework.TestSuite.run(TestSuite.java:203) >> at >>org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474) >> at >>org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342) >> at >>org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194) >> >>-Henry >> >> >> > > > >