本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9699205
建立时间:2004年12月20日




[java语言]spring对oracle的clob和StoredProcedure 的处理
原创空间

邢红瑞 发表于 2005/4/21 9:16:20

使用spring后发现和oracle的驱动有了不解之缘,最初是spring的jdbc存取oracle的clob字段,出现 org.springframework.transaction.TransactionSystemException: Could not roll back JDBC transaction; nested exception is java.sql.SQLException: Io 异常: Software caused connection abort: socket write error 问了Juergen Hoeller几次,也没有知道原因所在。只有加入了hibernate解决此问题,hibernate如何解决oracle的clob字段,看我以前的帖子(http://blogger.org.cn/blog/more.asp?name=hongrui&id=1171)。 后来看到agilejava也遇到这类问题,原来是ojdbc14.jar驱动的问题,改为9.2.0.5.0,一切OK了。相关blog(http://agilejava.blogbus.com/logs/2005/02/1031034.html) 因为现在大量用到存储过程,打算使用spring的StoredProcedure 进行操作,发现运行到SQLErrorCodes loaded: [DB2, HSQL, MS-SQL, MySQL, Oracle, Informix, PostgreSQL, Sybase] 就停了,没有办法,问了Thomas Risberg,他说程序没有错误,我当时就晕了,后来听说虎子做过类似的工作,代码给虎子看,也说没错,而且在它那里运行正常,我生气了。听从他的建议,加入spring源码调试,也不知道问题所在。认为是数据库的问题,换了台数据库还是不行。最后把防火墙撤掉,让虎子直接访问数据库,他那里一切正常。问题明朗了,数据库一样的,代码一样的,唯一不同的是jdk和oracle驱动,他的jdk1.425,我得1.421,差别不大,那就是驱动的问题,我换了以前用的ojdbc14.jar,现在用的版本10.1.0.2.0,换到9.0.2.0.0,一切OK,此时,我已经出离愤怒了,建议oracle驱动最好是自己命名,把文件名加上版本信息,要不会死人的。 下面是我作测试的PLSQL代码 CREATE OR REPLACE package chapter_13 as TYPE rs IS REF CURSOR ;procedure founder(oFields out rs); end;/CREATE OR REPLACE package body chapter_13 as PROCEDURE founder(oFields out rs) ISBEGIN  open oFields for   select * from dept;END founder;end;java代码 package springtest; import java.sql.*;import java.util.*; import javax.sql.*;import oracle.jdbc.driver.OracleTypes;import org.springframework.jdbc.core.*;import org.springframework.jdbc.datasource.*;import org.springframework.jdbc.object.*; public class TestDao {    public static void main(String[] args) throws Exception {        new TestDao().execute();    }     public void execute() throws Exception {        DataSource ds = new DriverManagerDataSource(                "oracle.jdbc.driver.OracleDriver",                "jdbc:oracle:thin:@localhost:1521:mydb",                "scott", "tiger");         DemoStoredProcedure proc = new DemoStoredProcedure(ds);        Map params = new HashMap();         proc.execute(params);     }     private class DemoStoredProcedure extends StoredProcedure {        public static final String SQL = "chapter_13.founder";         public DemoStoredProcedure(DataSource ds) {            setDataSource(ds);            setSql(SQL);            setFunction(false);             declareParameter(                    new SqlOutParameter(                            "obrief", OracleTypes.CURSOR, new RowMapper() {                public Object mapRow(ResultSet rs, int rowNum) throws                        SQLException {                    System.out.println(rs.getString(1));                     return rs.getString(1);                }            }            ));             compile();        }    } }  


阅读全文(16765) | 回复(6) | 编辑 | 精华
 


回复:spring对oracle的clob和StoredProcedure 的处理
原创空间

 3466(游客)发表评论于2010/2/4 9:26:56

黄山温泉 黄山旅游 合肥贷款公司 水处理 位移传感器 液体壁纸 三亚家庭旅馆 电子商务解决方案 LED日光灯 数据恢复


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:spring对oracle的clob和StoredProcedure 的处理
原创空间

q(游客)发表评论于2010/1/13 11:14:15

婚礼主持王先生习惯随身携带无纺布袋,但是最近脑袋经常眩晕,这是什么原因?原来是被人进行跟踪,无奈之下向申江仿形铣床的老板提起了诉讼。王先生为什么会被跟踪呢?其实,王先生是一个非常棒的北京婚礼策划人,最主要的是他非常有爱心!王先生将一张北京机票和一张国际机票寄给了曾经身穿医生服,大闹婚礼现场的精神病人,作为一份生日礼物,希望他可以出去走走!

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:spring对oracle的clob和StoredProcedure 的处理
原创空间

fox(游客)发表评论于2009/6/17 9:35:21

我也碰到这个问题了.搜索了下 ,看到你的贴,,非常感谢!

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:spring对oracle的clob和StoredProcedure 的处理
原创空间

SMILE(游客)发表评论于2007/2/6 10:59:36

8i的会吐血

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:spring对oracle的clob和StoredProcedure 的处理
原创空间

procedure(游客)发表评论于2007/1/29 17:02:57

想问下,为什么我现在执行之后总是不返回结果,但procedure已经执行过了,谢谢

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:spring对oracle的clob和StoredProcedure 的处理
原创空间

luckystar发表评论于2006/3/10 10:23:22

谢谢,看过这个帖子,我以后在这方面就会注意了,真的不错,谢谢

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.063 second(s), page refreshed 144758612 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号