论坛首页 Java企业应用论坛

Oralce10g里lob蹩脚的操作终于改善了

浏览 16425 次
该帖已经被评为精华帖
作者 正文
   发表时间:2006-01-02  
大家都知道以前版本的Oracle在Hibernate里操作lob是相当痛苦的一件事情,但是在它新版的Oracle10g中的JDBC驱动已经修正了这个问题。操作要点如下:
  1、首先数据表中的clob类型对应java持久化类的String类型;而blob类型对应byte[]类型。

  2、定义hibernate标签时,持久化类中对应clob类型的属性的hibernate type应为text;而对应blob类型的属性的hibernate type应为binary。

  3、以后访问这些对应clob和blob类型的属性时,按普通属性处理,不需要特别编码。
   发表时间:2006-01-04  
是否需要配置下面的连接参数?

SetBigStringTryClob=true
0 请登录后投票
   发表时间:2006-01-04  
vaja 写道
是否需要配置下面的连接参数?

SetBigStringTryClob=true
vaja,不需要配置这个参数,我的这个操作在Oracle10g Release2版本配合该版本下的JDBC驱动测试通过。
0 请登录后投票
   发表时间:2006-01-04  
有没有测试一下存储超过4KB的数据,以前的版本 Thin Driver无法插入超过4KB的数据。
0 请登录后投票
   发表时间:2006-01-04  
robbin 写道
有没有测试一下存储超过4KB的数据,以前的版本 Thin Driver无法插入超过4KB的数据。
测试过,特意上传过2MB以上的东西,没有问题。
0 请登录后投票
   发表时间:2006-01-04  
嗯,我们的项目,用的就是10g的jdbc driver,配合9i的数据库
0 请登录后投票
   发表时间:2006-01-04  
feisan 写道
嗯,我们的项目,用的就是10g的jdbc driver,配合9i的数据库


用oracle.com上最新的那个release2的驱动吧?第一个release的那个驱动我感觉有问题,clob类型字数在1000-1500左右时抛异常,字数小一些或者大一些(大到十几万)都没问题,唯独那个区间里有毛病。后来换叻最新的驱动就好叻。10g的驱动搭配9i的库的确不错。
0 请登录后投票
   发表时间:2006-01-05  
robbin 写道
有没有测试一下存储超过4KB的数据,以前的版本 Thin Driver无法插入超过4KB的数据。


我也碰到了这个问题,我用的9i的数据库用ojdb14。jar的setString方法插clob,一超过4k 就有问题,数据都是乱的,有没有什么解决办法呢
0 请登录后投票
   发表时间:2006-01-06  
pepper 写道
robbin 写道
有没有测试一下存储超过4KB的数据,以前的版本 Thin Driver无法插入超过4KB的数据。


我也碰到了这个问题,我用的9i的数据库用ojdb14。jar的setString方法插clob,一超过4k 就有问题,数据都是乱的,有没有什么解决办法呢
9i的库我没有测试过,我现在项目的实际开发和生产环境是Oracle10g Release2的库,使用的是它jdbc\lib目录下一个名字叫ojdbc14_g.jar的驱动包,大小为1884KB。
0 请登录后投票
   发表时间:2006-01-06  
我后来仔细测了下,其实clob是可以插超过4k的数据的,但是有时数据会出现部分乱码,nclob则一旦数据超过4k,就会变成乱码,怀疑要用pstmt.setFormOfUse(int, Const.CHAR)先设定编码(ps 我用的是最新的驱动)
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics