//照片处理段
InputStream photo = rs.getBinaryStream("ZA9998");
//照片处理
if(photo!=null){
BLOB blob = null;
Ex1Con.setAutoCommit(false);
PreparedStatement pstmt = Ex1Con.prepareStatement
("update t_gs_person set PERSON_PHOTO=empty_blob() where PERSON_ID=?");
pstmt.setInt(1,perrow+1);
pstmt.executeUpdate();
pstmt.close();
pstmt = Ex1Con.prepareStatement
("select PERSON_PHOTO from t_gs_person where PERSON_ID= ? for update");
pstmt.setInt(1,perrow+1);
ResultSet rset = pstmt.executeQuery();
if (rset.next()) blob = (BLOB) rset.getBlob(1);
try {
pstmt = Ex1Con.prepareStatement
("update t_gs_person set PERSON_PHOTO=? where PERSON_ID=?");
OutputStream out = blob.getBinaryOutputStream();
int count = -1, total = 0;
byte[] data = new byte[(int)photo.available()];
photo.read(data);
out.write(data);
photo.close();
out.close();
pstmt.setBlob(1,blob);
pstmt.setInt(2,perrow+1);
pstmt.executeUpdate();
pstmt.close();
} catch (IOException e) {
// TODO Auto-generated catch block
try {
photo.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
}
}//照片处理if语句结束
//照片处理结束
建议Statement对象名字区分开来,后来发现关闭对象时候,有状态对象未关闭。
分享到:
相关推荐
本篇文章将详细探讨如何将ORACLE数据库中的BLOB(Binary Large Object)字段导入到SQL SERVER中的IMAGE字段,这通常涉及到数据转换、数据迁移以及可能的数据类型兼容性问题。 首先,让我们了解BLOB和IMAGE字段的...
读取Blob字段时,可以创建一个`OracleBinary`对象,然后使用`GetValue`方法获取Blob数据。写入Blob字段时,先创建`OracleParameter`对象,将其Direction设置为` ParameterDirection.Input `,OracleDbType设置为`...
本篇文章将深入探讨如何在Delphi中对Oracle数据库的BLOB字段进行读写操作。 首先,你需要在Delphi项目中引入Oracle数据库访问的相关组件,如DBExpress或ADO。DBExpress是Delphi内置的一个轻量级数据库访问框架,而...
在关系型数据库中,如Oracle、MySQL、SQL Server等,BLOB字段提供了一种高效的方式,用于处理和存储大数据量的非结构化信息。 ### 判断BLOB字段是否为空的必要性 在实际应用中,判断BLOB字段是否为空对于数据完整...
- `image`在SQL Server中对应Oracle的`BLOB`,用于存储二进制大数据。 接下来,我们讨论SQL Server和Oracle的函数对照: 1. **字符函数**: - `ASCII`和`CHR`用于字符的ASCII编码转换。 - `CONCAT`和`+`运算符...
### 基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案 #### 概述 本文介绍了一种利用JSP技术访问Oracle数据库中BLOB字段存储的坐标点,并将其转换为图形显示的方法。这种方法充分利用了JSP与Java的集成优势,...
在将SQL SERVER数据库迁移到ORACLE的过程中,涉及多个步骤和注意事项。以下是对这些步骤的详细说明: 1. **配置ORACLE客户端**: - 使用Net Configuration Assistant进行配置,这是一个图形化工具,帮助设置与...
### 将SQL Server中的数据同步到Oracle中 在IT领域,特别是在企业级应用环境中,不同数据库平台间的数据同步是一项常见的需求。例如,在某些情况下,可能需要将SQL Server 2005中的数据同步到Oracle数据库中,以便...
在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而Oracle数据库是广泛应用的关系型数据库管理系统,支持多种数据类型,包括BLOB(Binary Large Object),用于存储大块二进制数据,如图片...
总结而言,从SQL Server到Oracle的数据库迁移不仅涉及数据类型转换的细节,还需要对源数据库中的特殊功能如自动增长字段进行等效替代设计,确保目标数据库能够无缝接替原有的数据管理和业务逻辑。这一过程需要细致...
本文将详细讲解如何操作Oracle数据库中的Blob字段,以实现图片的存储和读取。Blob(Binary Large Object)字段类型用于存储大量的二进制数据,如图片、文档等。 首先,确保已安装了Oracle的客户端库,如ODP.NET ...
### ADO读写BLOB字段详解 #### 一、引言 在软件开发过程中,处理大量二进制数据(如图像、音频文件等)是非常常见的需求。这些数据通常被称为二进制大对象(BLOB,Binary Large Object)。本文将详细介绍如何使用...
在数据类型上,Oracle的LOB类型(BLOB、CLOB、NCLOB)用于存储大对象,它们支持事务处理,而SQL Server的BINARY和VARBINARY以及TEXT和NTEXT类型则用于类似目的,但LOB类型的处理方式略有不同。 Oracle的NCLOB用于...
- SQL Server的数据类型包括bigint到tinyint的整型,binary和varbinary的二进制数据,以及datetime和smalldatetime的时间戳等。此外,还有用于唯一标识的uniqueidentifier类型。 - Oracle的数据类型更为丰富,例如...
通过JDBC(Java Database Connectivity),Java可以连接到任何支持JDBC的数据库,包括Oracle、MySQL和SQL Server。Java的InputStream和OutputStream类可用于读取和写入大数据对象。例如,使用PreparedStatement的...
Oracle数据库支持`BLOB`类型存储大对象,与MySQL和SQL Server类似,但提供了更高级的功能和优化选项。例如,Oracle的`BLOB`类型可以使用`DBMS_LOB`包进行高效操作,包括分块读写、合并、截断等功能。 在Java中操作...
用户需要根据自己的数据库类型(如Oracle、MySQL、SQL Server等)和服务器设置来更新这个文件。通常包括以下内容: - 数据库URL:指定数据库服务器的位置,如`jdbc:oracle:thin:@localhost:1521:ORCL` - 用户名:...
总结来说,MySQL、SQL Server和Oracle都提供了各自的大对象存储解决方案,主要通过BLOB或类似的类型实现,存取大对象时通常涉及流操作。在使用过程中,需要注意每个数据库系统的具体限制和配置,以及选择合适的数据...
- 针对不同数据库系统,如Oracle、MySQL、SQL Server等,可能需要使用特定的API或组件。 - 数据库连接池的管理也是优化性能的重要环节,合理配置可以减少数据库连接创建和销毁的开销。 在实际开发中,理解和掌握...
例如,Oracle数据库支持`LongRaw`和`Raw`类型,而SQL Server则支持`Image`和`Text`类型,因此,在设计数据库表结构时,需要根据实际使用的数据库类型来确定Blob字段的具体类型。 - **性能优化:** 当处理较大的Blob...