`

用Java实现磁盘文件以大对象二进制文件形式存储到Oracle数据库

阅读更多
BLOB blob = null; 
PreparedStatement pstmt = conn.prepareStatement("insert into javatest(name,context) values(?,empty_blob())"); 
            pstmt.setString(1,""+list.get(i).toString()+""); 
            pstmt.executeUpdate(); 
            pstmt.close(); 

            pstmt = conn.prepareStatement("select context from javatest where name= ? for update"); 
            pstmt.setString(1,""+list.get(i).toString()+""); 
            ResultSet rset = pstmt.executeQuery(); 
            if (rset.next()) blob = (BLOB) rset.getBlob(1); 

            pstmt = conn.prepareStatement("update javatest set context=? where name=?"); 

            OutputStream out = blob.getBinaryOutputStream(); 

            int count = -1, total = 0; 
            byte[] data = new byte[(int)fin.available()]; 
            fin.read(data); 
            out.write(data); 
            /* 
            byte[] data = new byte[blob.getBufferSize()];  另一种实现方法,节省内存 
            while ((count = fin.read(data)) != -1) { 
              total += count; 
              out.write(data, 0, count); 
            } 
            */ 

            
            fin.close(); 
            out.close(); 

            pstmt.setBlob(1,blob); 
            pstmt.setString(2,""+list.get(i).toString()+""); 
            pstmt.executeUpdate(); 
            
            pstmt.close(); 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    批量导出ORACLE数据库BLOB字段生成图片

    Oracle数据库在存储大对象(BLOB)数据时,提供了高效且灵活的方式,使得二进制数据如图片、文档等能够安全地保存在数据库中。批量导出Oracle数据库中的BLOB字段生成图片,是一项常见的需求,尤其对于那些需要将...

    java实现文件上传到服务器

    Oracle数据库支持BLOB类型,可以存储大块二进制数据。在Java中,我们可以使用JDBC API与Oracle数据库交互。首先,我们需要将文件内容读取到`InputStream`,然后在SQL语句中将其作为参数传递: ```java Connection...

    ORACLE数据库中插入大字段数据的解决方法

    在提供的文件`MysqlToOracle.java`中,可能包含了将MySQL数据转换并插入到ORACLE数据库的代码示例。这个过程可能涉及到数据类型转换、连接管理、事务控制以及上述的性能优化策略。在实际应用中,需要确保代码正确...

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

    在Java编程中,可以通过setBinaryStream方法直接将输入流设置到PreparedStatement中,实现快速且便捷的大对象存储和读取。 例如: ```java PreparedStatement ps = conn.prepareStatement("INSERT INTO tb_file ...

    从oracle数据库中存取图片

    本篇文章将基于提供的代码片段来详细解析如何使用Java语言实现从Oracle数据库中存储与读取图片的功能。 #### 一、创建存储图片的表 在开始之前,我们需要在Oracle数据库中创建一个可以存储图片数据的表。根据描述...

    将图片以字节流存到数据库再从数据库获取显示

    通常,我们会选择支持二进制大对象(BLOB)的数据库,如MySQL、PostgreSQL或Oracle等,用于存储字节流数据。创建一个表,包含一个BLOB类型的字段,用于存放图片数据。然后,通过SQL语句或者ORM框架(如Hibernate或...

    Oracle数据库由入门到进阶.ppt

    * Oracle数据库的安装环境要求:操作系统(Windows 2000/XP/2003 Server)、磁盘空间(> 1G)、内存(> 256M)、CPU(P4 1.6G)、Java 运行环境(JRE) * 字符集的选择:缺省为ZHS16GBK,常用选择为AL32UTF8 / WE8...

    Oracle数据库由入门到进阶详述.pptx

    参数文件有两种形式:文本的PFILE和二进制的SPFILE,它们用于存储数据库实例的配置信息。可以使用SQL*Plus命令SHOW PARAMETERS,CREATE PFILE,或者查询V$PARAMETER和V$SPPARAMETER视图来查看和管理这些参数。 ...

    Oracle数据库由入门到进阶.pptx

    参数文件有两种形式,文本参数文件(PFILE)和二进制的服务器参数文件(SPFILE),它们定义了数据库的运行方式。通过SQL*Plus命令SHOW PARAMETERS、CREATE PFILE、V$PARAMETER和V$SPPARAMETER视图可以查看和管理这些...

    oracle数据库导出

    7. **数据导入**:使用`impdp`命令可以将导出的DMP文件导入到另一个Oracle数据库。导入过程中可以进行数据转换、数据过滤等操作。 8. **安全注意事项**:在进行数据库导出时,应确保对敏感数据进行适当的保护,避免...

    Oracle9i-数据库管理基础I.pdf

    - **Oracle数据库**:存储数据的物理文件集合。 **物理结构**包括: - **数据文件**:存储数据的文件。 - **重做日志文件**:记录对数据库所做的更改。 - **控制文件**:记录数据库物理结构的相关信息。 **内存...

    jsp 上传图片并保存到数据库里的servlet代码和jsp代码

    本主题将深入探讨如何使用JSP和Servlet来实现一个图片上传功能,并将图片数据存储到Oracle数据库中。 首先,我们需要理解JSP和Servlet的角色。JSP是用于创建动态内容的视图层技术,而Servlet则是Java编写的应用程序...

    Oracle DBA基础知识

    控制文件是Oracle数据库非常重要的组成部分,存储了关于数据库的物理结构信息。 ##### 6.1 控制文件概述 控制文件包含了数据库的物理结构信息,如数据文件的位置、重做日志文件的位置等。 ##### 6.2 多元化控制...

    文件上传需要的jar包

    在文件上传的上下文中,ojdbc6.jar帮助将图片或其他文件的相关元数据存储到数据库,并可能将文件本身以二进制大对象(BLOB)的形式存储。 2. **commons-io-2.4.jar**:Apache Commons IO是一个Java库,包含了一系列...

    Oracle9i 数据库管理基础I

    3. **Oracle数据库**:由一系列数据文件、控制文件、重做日志文件和参数文件组成,用于存储数据和元数据。 4. **物理结构**:包括数据文件、控制文件和重做日志文件,这些文件构成了数据库的物理存储基础。 5. **...

    JAVA内存数据库组件及源代码

    8. **备份与恢复**:H2提供了备份和恢复功能,可以导出数据库为SQL脚本或二进制文件,便于数据迁移和灾难恢复。 9. **工具支持**:H2提供了Web管理工具,用户可以通过浏览器直接查看数据库结构、执行SQL查询、管理...

    ORACLE_11g教程_数据库应用简明教程

    - 定义:一种很小的二进制文件,用于描述和维护数据库的物理结构。 - 作用:记录数据库的物理结构信息,如数据文件的位置、重做日志文件的位置等。 - 特性:对于数据库的正常启动和运行至关重要。 ##### 重做日志...

    数据库基本介绍以及在java中的操作.docx

    1. **序列化**:将对象转换为二进制流,存储在磁盘上,但这种格式通常对人类不可读,且在不同平台之间可能存在兼容性问题。 2. **文件存储**(如XML文件):以文本格式保存对象,可读性好,但效率较低,且缺乏安全性...

    Oracle数据库面试题.pdf

    ### Oracle数据库面试题知识点解析 #### 一、基础知识(1-20) 1. **Oracle数据库的主要特点**: - **高性能与可扩展性**:支持大量并发用户和大规模数据处理。 - **高可用性**:具备强大的容错能力和故障恢复...

Global site tag (gtag.js) - Google Analytics