`
yollywu
  • 浏览: 17755 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

从SQLSERVER binary 导入到ORCALE Blob字段

 
阅读更多
      
     //照片处理段
     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字段导入到SQL SERVER中的IMAGE字段

    本篇文章将详细探讨如何将ORACLE数据库中的BLOB(Binary Large Object)字段导入到SQL SERVER中的IMAGE字段,这通常涉及到数据转换、数据迁移以及可能的数据类型兼容性问题。 首先,让我们了解BLOB和IMAGE字段的...

    C#访问oracle数据库类,带blob字段读写

    读取Blob字段时,可以创建一个`OracleBinary`对象,然后使用`GetValue`方法获取Blob数据。写入Blob字段时,先创建`OracleParameter`对象,将其Direction设置为` ParameterDirection.Input `,OracleDbType设置为`...

    oracle blob 字段 读写 delphi

    本篇文章将深入探讨如何在Delphi中对Oracle数据库的BLOB字段进行读写操作。 首先,你需要在Delphi项目中引入Oracle数据库访问的相关组件,如DBExpress或ADO。DBExpress是Delphi内置的一个轻量级数据库访问框架,而...

    判断blob字段是否为空

    在关系型数据库中,如Oracle、MySQL、SQL Server等,BLOB字段提供了一种高效的方式,用于处理和存储大数据量的非结构化信息。 ### 判断BLOB字段是否为空的必要性 在实际应用中,判断BLOB字段是否为空对于数据完整...

    sqlserver-oracle 数据类型对照

    - `image`在SQL Server中对应Oracle的`BLOB`,用于存储二进制大数据。 接下来,我们讨论SQL Server和Oracle的函数对照: 1. **字符函数**: - `ASCII`和`CHR`用于字符的ASCII编码转换。 - `CONCAT`和`+`运算符...

    基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案

    ### 基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案 #### 概述 本文介绍了一种利用JSP技术访问Oracle数据库中BLOB字段存储的坐标点,并将其转换为图形显示的方法。这种方法充分利用了JSP与Java的集成优势,...

    SQL SERVER 数据库迁移到ORACLE配置 SQL SERVER 数据库转到ORACLE配置.doc

    在将SQL SERVER数据库迁移到ORACLE的过程中,涉及多个步骤和注意事项。以下是对这些步骤的详细说明: 1. **配置ORACLE客户端**: - 使用Net Configuration Assistant进行配置,这是一个图形化工具,帮助设置与...

    将SQLSERVER中的数据同步到ORACLE中

    ### 将SQL Server中的数据同步到Oracle中 在IT领域,特别是在企业级应用环境中,不同数据库平台间的数据同步是一项常见的需求。例如,在某些情况下,可能需要将SQL Server 2005中的数据同步到Oracle数据库中,以便...

    jsp实现向oracle中blob字段上传附件

    在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而Oracle数据库是广泛应用的关系型数据库管理系统,支持多种数据类型,包括BLOB(Binary Large Object),用于存储大块二进制数据,如图片...

    从SQL Server 向Oracle迁移的技术实现方案

    总结而言,从SQL Server到Oracle的数据库迁移不仅涉及数据类型转换的细节,还需要对源数据库中的特殊功能如自动增长字段进行等效替代设计,确保目标数据库能够无缝接替原有的数据管理和业务逻辑。这一过程需要细致...

    c# winform 操作oracle数据库的Blob字段,把图片存储到数据库,保存图片到数据库

    本文将详细讲解如何操作Oracle数据库中的Blob字段,以实现图片的存储和读取。Blob(Binary Large Object)字段类型用于存储大量的二进制数据,如图片、文档等。 首先,确保已安装了Oracle的客户端库,如ODP.NET ...

    ADO读写blob字段

    ### ADO读写BLOB字段详解 #### 一、引言 在软件开发过程中,处理大量二进制数据(如图像、音频文件等)是非常常见的需求。这些数据通常被称为二进制大对象(BLOB,Binary Large Object)。本文将详细介绍如何使用...

    浅谈ORACLE与SQL SERVER的差异.docx

    在数据类型上,Oracle的LOB类型(BLOB、CLOB、NCLOB)用于存储大对象,它们支持事务处理,而SQL Server的BINARY和VARBINARY以及TEXT和NTEXT类型则用于类似目的,但LOB类型的处理方式略有不同。 Oracle的NCLOB用于...

    SQL Server Oracle的不同点

    - SQL Server的数据类型包括bigint到tinyint的整型,binary和varbinary的二进制数据,以及datetime和smalldatetime的时间戳等。此外,还有用于唯一标识的uniqueidentifier类型。 - Oracle的数据类型更为丰富,例如...

    oracle mysql sqlser2000对大数据对象的操作

    通过JDBC(Java Database Connectivity),Java可以连接到任何支持JDBC的数据库,包括Oracle、MySQL和SQL Server。Java的InputStream和OutputStream类可用于读取和写入大数据对象。例如,使用PreparedStatement的...

    mysql,sqlserver,oracle三种数据库的大对象存取

    Oracle数据库支持`BLOB`类型存储大对象,与MySQL和SQL Server类似,但提供了更高级的功能和优化选项。例如,Oracle的`BLOB`类型可以使用`DBMS_LOB`包进行高效操作,包括分块读写、合并、截断等功能。 在Java中操作...

    批量导出blob工具

    用户需要根据自己的数据库类型(如Oracle、MySQL、SQL Server等)和服务器设置来更新这个文件。通常包括以下内容: - 数据库URL:指定数据库服务器的位置,如`jdbc:oracle:thin:@localhost:1521:ORCL` - 用户名:...

    mysql,sqlserver,oracle三种数据库的大对象存取解析.docx

    总结来说,MySQL、SQL Server和Oracle都提供了各自的大对象存储解决方案,主要通过BLOB或类似的类型实现,存取大对象时通常涉及流操作。在使用过程中,需要注意每个数据库系统的具体限制和配置,以及选择合适的数据...

    DELPHI的CLOB和BLOB存取处理.zip_DELPHI的CLOB和BLOB存取处理_hallzgz

    - 针对不同数据库系统,如Oracle、MySQL、SQL Server等,可能需要使用特定的API或组件。 - 数据库连接池的管理也是优化性能的重要环节,合理配置可以减少数据库连接创建和销毁的开销。 在实际开发中,理解和掌握...

    大文本(Blob)对象处理

    例如,Oracle数据库支持`LongRaw`和`Raw`类型,而SQL Server则支持`Image`和`Text`类型,因此,在设计数据库表结构时,需要根据实际使用的数据库类型来确定Blob字段的具体类型。 - **性能优化:** 当处理较大的Blob...

Global site tag (gtag.js) - Google Analytics