由于thin驱动对setBinaryStream支持很差,没办法,只有采用笨点的方法了
connOracle = JDBCDataSource.getJDBCDataSource("jdbc.informix")
.getConnection();
connOracle.setAutoCommit(false);
BLOB blob = null;
PreparedStatement pstmt = connOracle
.prepareStatement("update ygjbxx set jbxx_photo=empty_blob() where jbxx_bh='"
+ ygdh + "'");
pstmt.executeUpdate();
pstmt.close();
PreparedStatement pstmt1 = connOracle
.prepareStatement("select jbxx_photo from ygjbxx where jbxx_bh= ? for update");//for update必须要加
pstmt1.setString(1, ygdh);
ResultSet rset = pstmt1.executeQuery();
if (rset.next()) {
blob = (BLOB) rset.getBlob(1);
}
pstmt1.close();
OutputStream out1 = blob.getBinaryOutputStream();
int i = 0;
while ((i = in.read()) != -1) {//InputStream为方法的参数
out1.write(i);
}
out1.flush();
out1.close();
PreparedStatement pstmt2 = connOracle
.prepareStatement("update ygjbxx set jbxx_photo=? where jbxx_bh='"
+ ygdh + "'");
pstmt2.setBlob(1, blob);
pstmt2.executeUpdate();
pstmt2.close();
connOracle.commit();
分享到:
相关推荐
jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc ...
在Java的JDBC4.0版本中,Oracle数据库的BLOB类型数据操作变得更加方便。BLOB(Binary Large Object)是用来存储大对象,如图像、音频或视频文件等二进制数据的数据库字段类型。以下是对使用JDBC4.0操作Oracle中BLOB...
在Oracle数据库中,BLOB类型的字段具有特殊的处理方式,尤其在使用JDBC(Java Database Connectivity)和Hibernate框架时,需要特别注意其写入过程。以下是对“JDBC+Hibernate将Blob数据写入Oracle”这一主题的深入...
本文将深入探讨如何使用Java Database Connectivity (JDBC) API来操作Oracle数据库中的BLOB字段,包括创建表、插入和读取BLOB数据的方法。 #### 创建包含BLOB字段的表 在Oracle数据库中创建一个包含BLOB字段的表...
总的来说,Java通过JDBC和Oracle JDBC驱动提供了一套完整的工具来操作Oracle数据库中的BLOB类型。无论是在插入、查询、更新还是删除BLOB数据,都需要注意效率和资源管理,以确保程序的稳定性和性能。通过实践和优化...
本文将详细介绍如何在Oracle数据库中实现Blob字段的上传和下载操作。 #### 二、Blob字段上传 Blob字段的上传通常涉及到以下几个步骤: 1. **创建Blob字段:** 首先需要在数据库表中定义一个Blob类型的字段。 2. **...
Java对Oracle数据库中BLOB字段的处理涉及多个层面,包括读取、写入、更新以及跨数据库操作等。 ### Java处理Oracle BLOB字段的基本方法 #### 1. 读取BLOB字段 在Java中,读取Oracle数据库中的BLOB字段通常通过`...
在提供的`Hibernate4_Spring3_Blob_Test`压缩包中,可能包含了使用Hibernate4和Spring3来测试Blob操作的例子。Spring可以帮助管理数据库连接和事务,而Hibernate则提供了方便的对象关系映射,使得处理LOB如同操作...
JDBC读写Oracle的CLOB字段
### JDBC中如何处理Oracle BLOB字段 在Java开发过程中,特别是在使用JDBC(Java Database Connectivity)与Oracle数据库交互时,处理BLOB(Binary Large Object)类型的数据是一项常见的需求。BLOB通常用于存储大量的...
上传图片到数据库并使用JDBC操作BLOB 在本篇文章中,我们将讨论如何上传图片到数据库,并使用JDBC操作BLOB(Binary Large OBject)。BLOB是一种二进制大对象,是数据库中的一种数据类型,用于存储大规模的二进制...
- JDBC驱动:下载并添加Oracle JDBC驱动到项目的类路径中。 - 开发工具:例如Eclipse或IntelliJ IDEA。 - Java版本:确保安装了JDK,并且配置好了环境变量。 2. **数据库表设计**: - 创建一张包含`BLOB`类型的...
总的来说,JDBC_oracle.zip可能包含了一个示例,展示了如何使用JDBC与Oracle数据库进行交互,包括创建连接、执行SQL、处理结果集以及管理事务等操作。这个.jmx文件可能是JMeter测试计划,用于性能测试或负载测试...
为了能够通过Spring框架操作数据库中的BLOB数据,需要对`sqlMapConfig.xml`进行适当的配置。以下是一个配置示例: ```xml <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" ...
总结来说,无论是通过JDBC还是Hibernate,写入Oracle数据库的Blob字段都需要先创建一个空Blob,然后获取其cursor,最后将二进制数据写入Blob。在JDBC中,这个过程涉及多个SQL语句和流操作;而在Hibernate中,通过ORM...
JDBC Blob操作 在不使用Hibernate的情况下,可以通过JDBC直接操作Blob。首先,你需要获取到PreparedStatement,然后通过`setBlob`方法设置Blob值: ```java File file = new File("path/to/your/file"); ...
### Oracle中BLOB字段的读取与操作 #### 一、引言 在数据库系统中,BLOB(Binary Large Object)是一种用于存储大量二进制数据的数据类型,例如图像、音频或视频文件等。在Oracle数据库中,BLOB类型特别适用于处理...
本文将详细介绍如何使用Struts结合JDBC操作Oracle数据库中的Blob字段实现文件的保存和读取。 #### 代码分析 根据提供的部分代码示例,我们可以将其分为两个主要部分:文件保存和文件读取。 ##### 文件保存 文件...