`
sd8089730
  • 浏览: 258597 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

Struts2 blob(转)

阅读更多

最近在项目中第一次使用 struts2,在将文件上传到数据库(oracle9i)中时,出现了一个奇怪的问题,就是当上传的文件比较小时(先这样说,因为没有查阅相关文档也没有测试这个值为多少),可以正常上传到数据库中,但当我上传了一个为300多K的图片是出现如下错误:
     不允许的操作: streams type cannot be used in batching
    在网上查阅时,有个哥们做出了如下解释:
    

引用
近日程序的数据库转为oracle 在操作blob类型时报以下错误:不允许的操作: streams type cannot be used in batching。经过查找多方面的资料查证Oracle JDBC不允许流操作以批量方式执行(Oracle CLOB采用流机制作为数据读写方式)。 只需在spring配置文件中更改hibernate jdbc.batch_size为0即可。
    
Xml代码 复制代码
  1. <bean id="oracleSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">      
  2.         <property name="dataSource">      
  3.             <ref bean="oracleDataSource"/>      
  4.         </property>      
  5.         <property name="hibernateProperties">      
  6.             <props>      
  7.                 <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>      
  8.                 <prop key="connection.provider_class">      
  9.                     org.hibernate.connection.C3P0ConnectionProvider      
  10.                 </prop>      
  11.                 <prop key="hibernate.show_sql">true</prop>      
  12.                 <prop key="hibernate.cache.use_query_cache">true</prop>      
  13.                 <prop key="hibernate.cache.provider_class">      
  14.                     org.hibernate.cache.EhCacheProvider      
  15.                 </prop>      
  16.                 <prop key="hibernate.jdbc.batch_size">0</prop>      
  17.             </props>      
  18.         </property>    
<bean id="oracleSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">   
        <property name="dataSource">   
            <ref bean="oracleDataSource"/>   
        </property>   
        <property name="hibernateProperties">   
            <props>   
                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>   
                <prop key="connection.provider_class">   
                    org.hibernate.connection.C3P0ConnectionProvider   
                </prop>   
                <prop key="hibernate.show_sql">true</prop>   
                <prop key="hibernate.cache.use_query_cache">true</prop>   
                <prop key="hibernate.cache.provider_class">   
                    org.hibernate.cache.EhCacheProvider   
                </prop>   
                <prop key="hibernate.jdbc.batch_size">0</prop>   
            </props>   
        </property>  


     以上引用出处:http://hsyd.iteye.com/blog/320579
     我添加后,又出现了新的问题:
      org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
     很是郁闷,网上查了很多,大多都是在说要先save一个空值,然后update,我试了一下,总感觉在ssh架构中,不太好实现,所以都未能解决问题,估计我的功力还不够,呵呵,但我在网上看到说:
    

引用
用oracle10G带的jdbcdriver,clob可以直接读写了


     所以我就想如果我用oracle10G带的jdbcdriver,是不是也能够直接读写blob类型的呢?我试了一下,欣喜若狂。。。,终于解决了,现分享给为此困惑的同行。
      顺便说明一下,我以前用的oracle驱动是class12.jar,我从网上下了10g的驱动,名称为:ojdbc14.jar,现作为附件供大家方便下载。

原文::http://jiangpan.iteye.com/blog/422449

分享到:
评论

相关推荐

    Struts用JDBC的Blob字段保存和读取Oracle数据库

    ### Struts 使用 JDBC 的 Blob 字段保存和读取 Oracle 数据库 #### 背景介绍 在企业级应用开发中,经常会遇到需要处理文件上传下载的情况。这些文件可能包括图片、文档等各种类型的数据。传统的做法是将文件保存到...

    Struts2 Hibernate存取Oracle数据库中的BLOB数据.pdf

    在实际操作中,可以通过Hibernate实现Oracle数据库中BLOB数据的存储和删除操作,然后利用Struts2框架展示这些BLOB数据。这样的结合,不仅可以提高开发效率,还能保证应用的性能和稳定性。 ### 实际操作步骤 在实际...

    struts2图片上传并生成缩略图,展示缩略图点击显示大图

    在这个场景中,我们将关注如何使用Struts2框架结合FileUpload库来实现图片上传,并通过生成缩略图来优化用户体验。Struts2是一个流行的Java Web框架,它提供了一种结构化的方式来处理用户请求,而FileUpload则是处理...

    hibernate struts处理mysql数据库blob字段实例

    2. Struts框架接收到请求,调用`FileUploadAction`,并将文件内容传递给Hibernate保存到MySQL的BLOB字段。 3. 保存成功后,返回页面显示文件已上传的提示。 4. 当用户请求下载文件时,触发`FileDownloadAction`,该...

    使用Struts2上传图片存取到Mysql中并读取出来显示在页面上_好资源0分送

    1. **图片上传与存储**:了解如何通过Struts2上传图片,并将其以Blob形式存储在MySQL数据库中。 2. **图片读取与展示**:掌握如何从数据库中读取图片Blob数据,并将其显示在Web页面上。 #### 开发准备 1. **开发...

    Struts2上传图片存数据库

    在本案例中,我们探讨的是如何利用Struts2框架处理文件上传,并将上传的图片以BLOB(Binary Large Object)类型存储在数据库中,同时提供下载功能。Hibernate则是一个对象关系映射(ORM)框架,它简化了数据库操作,...

    struts2.1 + hibernate3.2 + spring 2.5 实现blob数据上传、下载

    Struts2作为控制层,负责处理用户请求并调度业务逻辑;Hibernate则作为持久层框架,处理数据库操作;而Spring作为服务层和依赖注入框架,提供事务管理和其他服务,同时也支持AOP(面向切面编程)。 在这个项目中,...

    struts2上传图片到Oracle

    Struts2是一个流行的Java Web框架,它提供了丰富的功能来处理用户请求和展现页面。在"struts2上传图片到Oracle"这个场景中,我们将探讨如何使用Struts2框架实现文件上传,以及如何将这些上传的图片存储到Oracle...

    用JavaScript,Struts2和MVC模式做增删改查

    在IT行业中,构建基于Web的应用程序是常见的任务,而JavaScript、Struts2和MVC模式是这类应用开发的重要工具。本篇文章将详细讲解如何利用这些技术实现增删改查功能,并涉及图片上传到SQL Server数据库的操作。 ...

    struts+hibernate+spring+blob

    struts+hibernate+spring+blob 三个框架集成了一下,主要包括利用struts的上传附件功能,并把上传的图片存储到oracle的blob字段。并提供显示。 没做过多的限制,还有很多bug别见怪,功能跑得通!

    struts2+hibernate(文件批量上传至数据库+Ajax分页显示)

    Struts2和Hibernate是两种非常重要的Java Web开发框架。Struts2主要负责MVC(Model-View-Controller)模式中的控制层,而Hibernate则是一个强大的对象关系映射(ORM)框架,用于处理数据库操作。本项目结合两者实现...

    Struts2,Hibernate3,Spring2实现oracle存取blob字段(图片等二进制文件)(原来2分的,现在免费了!!给评分哦!!)

    Struts2,Hibernate3,Spring2实现oracle存取blob字段(图片等二进制文件) Myeclipse6.0下开发 哈哈,原来2分的,现在免费了!!!!!!!!!!!!!!!!!!!!!!!!给评分哦!!!!!!!!!!!!!!!!

    对blob大数据的操作——图片上传与显示*(自己实践可用)

    在本文中,我们将探讨如何使用SSH2框架将图片上传到Oracle数据库中,并成功地将其转换成Blob数据存储。同时,我们还将介绍如何在Service层使用事务处理代理,以避免报错。 图片处理思路 在Service层,我们需要使用...

    Struts2+Hibernate学生成绩管理系统

    【Struts2+Hibernate学生成绩管理系统】是一个基于Java Web技术构建的应用,旨在高效地管理和分析学生的学术数据。系统的核心架构结合了两个重要的框架:Struts2和Hibernate,它们分别负责控制层和持久层的处理。 *...

    struts2照片上传案列

    Struts2是一个流行的Java web框架,它为构建MVC(模型-视图-控制器)架构的应用程序提供了强大的支持。在"struts2照片上传案例"中,我们将探讨如何使用Struts2来处理用户上传的照片,并将这些照片存储到SQL数据库中...

    struts2+jdbc实现图片的存储与显示(图片存储在数据库内)

    Struts2是一个流行的Java web框架,它用于构建MVC(模型-视图-控制器)架构的应用程序。JDBC(Java Database Connectivity)则是Java语言连接数据库的标准API。在本项目"struts2+jdbc实现图片的存储与显示(图片存储...

    SSH示例代码(带事物和Blob操作的)

    在本项目中,Struts配置文件(struts-config.xml或struts2的struts.xml)会定义各个Action(控制器)及其对应的业务处理方法。 其次,Spring作为核心的容器框架,负责管理对象的生命周期和依赖关系。它提供了AOP...

    strus+spring保存文件为blob类型

    这个案例主要探讨了如何在Struts2和Spring框架下实现文件上传并以BLOB(Binary Large Object)类型保存到数据库中。BLOB是数据库系统中用于存储大量二进制数据的数据类型,如图片、音频或视频文件。 首先,`...

    个人总结:Struts2 上传文件的六种方法

    Struts2作为一款流行的Java Web框架,提供了多种方式来实现文件上传功能。下面将详细介绍在Struts2中实现文件上传的六种方法,并探讨如何将文件数据保存到数据库中。 1. **Struts2默认的FileUpload拦截器** Struts...

    Struts2文件下载程序使用框架实现

    2) 在Action中,读取文件内容,可以是数据库中的BLOB类型,也可以是从硬盘读取的文件。 3) 创建一个HttpServletResponse的OutputStream对象,将文件内容写入到这个流中。 4) 设置响应头信息,包括Content-Type...

Global site tag (gtag.js) - Google Analytics