急呀,clob保存数据的问题

tyjohn 2010-01-08 07:06:50
小弟的代码:
public void save(final Lob lob) {
final String keyId = super.generateId(lob);
String sql = " INSERT INTO ta_lob(id,foreignid,type,content,contentall)"
+ " VALUES(?,?,?,?,?)";
jdbcTemplate.execute(sql,
new AbstractLobCreatingPreparedStatementCallback(
lobHandler) {
protected void setValues(PreparedStatement ps,
LobCreator lobCreator) throws SQLException{
ps.setString(1, keyId);
ps.setString(2, lob.getForeignId());
ps.setString(3, lob.getType());
lobCreator.setClobAsString(ps, 4, lob.getContent());
lobCreator.setClobAsString(ps, 5, lob.getContentAll());
}
});
}
配置文件:
<bean id="nativeJdbcExtractor"
class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"
lazy-init="true" />
<bean id="oracleLobHandler"
class="org.springframework.jdbc.support.lob.OracleLobHandler"
lazy-init="true">
<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor" />
</bean>
错误信息:
org.springframework.dao.DataAccessResourceFailureException: Could not create Oracle LOB; nested exception is java.lang.AbstractMethodError
Caused by: java.lang.AbstractMethodError
at oracle.jdbc.driver.OracleConnection.unwrapCompletely(OracleConnection.java:5149)
at oracle.jdbc.driver.OracleConnection.physicalConnectionWithin(OracleConnection.java:5198)
at oracle.sql.CLOB.createTemporary(CLOB.java:1009)
at oracle.sql.CLOB.createTemporary(CLOB.java:956)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.prepareLob(OracleLobHandler.java:393)
at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.createLob(OracleLobHandler.java:340)
at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.setClobAsString(OracleLobHandler.java:265)
at com.dhcc.ta.dao.LobDao$1.setValues(LobDao.java:44)
at org.springframework.jdbc.core.support.AbstractLobCreatingPreparedStatementCallback.doInPreparedStatement(AbstractLobCreatingPreparedStatementCallback.java:70)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:538)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:566)
at com.dhcc.ta.dao.LobDao.save(LobDao.java:36)
at com.dhcc.ta.service.LobService.save(LobService.java:17)
at com.dhcc.ta.service.LobService$$FastClassByCGLIB$$452e3693.invoke()
at net.sf.cglib.proxy...

我的是9i的数据库,读取clob没有问题,就是插入的时候包错,驱动包是ojdbc14.jar(1.1M)9i的驱动包
并且发现如果换成是ojdbc14.jar(1.5M)10g的驱动包就没问题,但是10g的驱动包有会对我的其它代码造成影响(时间无法显示时分秒),郁闷呀
...全文
265 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
JavaAlpha 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chuan122345 的回复:]
http://topic.csdn.net/u/20071210/13/80d0c26f-da2d-4231-a739-bbdf86da27e9.html  这个人跟你遇到的问题一样,他已经解决。你参考下。
[/Quote]

参考
SambaGao 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 crazylaa 的回复:]
oracle 官方文档 CLOB 10g
http://www.oracle.com/technology/sample_code/tech/java/codesnippet/jdbc/clob10g/handlingclobsinoraclejdbc10g.html
[/Quote]

..
cooler4k 2010-01-09
  • 打赏
  • 举报
回复
ORACLE中的的BLOB,CLOB不能直接插入,只能先插入其它信息,再更新BLOB,CLOB字段
No-zero 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 crazylaa 的回复:]
oracle 官方文档 CLOB 10g
http://www.oracle.com/technology/sample_code/tech/java/codesnippet/jdbc/clob10g/handlingclobsinoraclejdbc10g.html
[/Quote]

karno2009 2010-01-08
  • 打赏
  • 举报
回复
学习
weihthchk 2010-01-08
  • 打赏
  • 举报
回复
为何不直接使用setClob方法?
左大神在这 2010-01-08
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20071210/13/80d0c26f-da2d-4231-a739-bbdf86da27e9.html 这个人跟你遇到的问题一样,他已经解决。你参考下。
内容概要:本文聚焦于“含虚拟惯量阻尼的大功率并网逆变器VSG控制策略与仿真验证”,系统研究虚拟同步发电机(VSG)技术在大功率并网逆变器中的应用,旨在提升新能源并网系统的动态响应能力与运行稳定性。通过引入虚拟惯量与虚拟阻尼控制机制,使逆变器能够模拟传统同步发电机的惯性与阻尼特性,有效应对电网频率波动和负载突变带来的冲击。文档深入剖析了VSG的核心控制原理,包括有功-频率、无功-电压的下垂控制模型,并基于Simulink平台构建完整的系统仿真模型,对不同工况下的动态性能进行仿真分析与验证,充分展示了VSG在提升并网系统稳定性、增强电网支撑能力方面的优越性。; 适合人群:具备电力电子、自动控制理论及新能源并网技术背景,从事电气工程、可再生能源系统仿真与控制研究的研究生、科研人员以及相关领域的工程技术人员。; 使用场景及目标:① 掌握VSG控制策略在大功率并网逆变器中的具体实现方法与参数设计流程;② 学习基于Simulink搭建高保真度并网逆变器动态仿真模型的技术路径;③ 深入探究虚拟惯量与虚拟阻尼对改善电网频率响应、抑制功率振荡的作用机理,服务于微电网、高比例可再生能源接入等复杂电力系统的稳定性优化与控制策略研究。; 阅读建议:建议结合提供的Simulink仿真文件同步操作,重点关注VSG控制环路的结构设计与关键参数(如虚拟惯量、阻尼系数)的整定方法,通过设置不同的电网扰动工况(如负载切换、频率突变)观察系统响应特性,从而深入理解VSG的动态调节机制与控制优势。同时可参考文中涉及的其他电力系统控制案例,拓展对现代智能电网综合控制策略的认知视野。

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧