67,549
社区成员




17:28:54,733 INFO [XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
17:28:54,906 INFO [SQLErrorCodesFactory] SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
17:29:07,084 ERROR [STDERR] org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [17070];
--- The error occurred in com/upic/pay/biz/bo/sql/TradeMessagesSql.xml.
--- The error occurred while applying a parameter map.
--- Check the tradeMessages.insert-InlineParameterMap.
--- Check the parameter mapping for the 'requestXml' property.
--- Cause: java.sql.SQLException: 数据大小超出此类型的最大值: 3539; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/upic/pay/biz/bo/sql/TradeMessagesSql.xml.
--- The error occurred while applying a parameter map.
--- Check the tradeMessages.insert-InlineParameterMap.
--- Check the parameter mapping for the 'requestXml' property.
--- Cause: java.sql.SQLException: 数据大小超出此类型的最大值: 3539
BIZ_NO = #bizNo:VARCHAR#,
SERIALIZE_NO = #serializeNo:VARCHAR#,
RESPONSE_XML = #responseXml:CLOB#,
REQUEST_XML = #requestXml:CLOB#,
INTERACTIVE_TIME = #interactiveTime:DATE#,
INTERACTIVE_TYPE = #interactiveType:VARCHAR#,
CHANNEL_TYPE = #channelType:VARCHAR#,
TRADE_TYPE = #tradeType:VARCHAR#,
private String messageId;
private String bizNo;
private String serializeNo;
private String responseXml;
private String requestXml;
private Date interactiveTime;
private String interactiveType;
private String channelType;
private String tradeType;
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="com/upic/pay/biz/bo/sql/sql-map-config.xml" />
<property name="dataSource" ref="dataSource" />
<property name="lobHandler" ref="lobHandler" />
</bean>
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true"/>
<sqlMapConfig>
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxSessions="3000"
maxTransactions="3000"
maxRequests="3000"/>
<typeHandler jdbcType="CLOB" javaType="java.lang.String" callback="org.springframework.orm.ibatis.support.ClobStringTypeHandler" />
</sqlMapConfig>
<insert id="tradeMessages.insert" parameterClass="com.upic.pay.domain.TradeMessages">
<![CDATA[
insert into T_PAY_TRADE_MESSAGES
(
MESSAGE_ID,
BIZ_NO,
SERIALIZE_NO,
RESPONSE_XML,
REQUEST_XML,
INTERACTIVE_TIME,
INTERACTIVE_TYPE,
CHANNEL_TYPE,
TRADE_TYPE,
CREATED_BY,
CREATED_DATE,
UPDATED_BY,
UPDATED_DATE
,DELETED_FLAG
)
values
(
#messageId:VARCHAR#,
#bizNo:VARCHAR#,
#serializeNo:VARCHAR#,
#responseXml,javaType=java.lang.String,jdbcType=CLOB#,
#requestXml,javaType=java.lang.String,jdbcType=CLOB#,
#interactiveTime:DATE#,
#interactiveType:VARCHAR#,
#channelType:VARCHAR#,
#tradeType:VARCHAR#,
#createdBy:VARCHAR#,
sysdate,
#updatedBy:VARCHAR#,
sysdate
,'0'
)
]]>
</insert>
Cause: java.sql.SQLException: 数据大小超出此类型的最大值: 3539
照网上很多教程的方式做了调整,都是出现数据库字段长度超出的错误。是否是我解决问题的思路错误了。(并不是clob无法保存,而是字段长度限制?)