当前位置:  数据库>oracle

Oracle 下操作blob字段是否会产生大量redo

    来源: 互联网  发布时间:2017-06-05

    本文导语: 操作blob字段是否会产生大量redo,答案是不会,下面来做一个实验,测试Oracle数据库版本是11.2.0.1.0: 在CentOS 6.4下安装Oracle 11gR2(x64) Oracle 11gR2 在VMWare虚拟机中安装步骤 Debian 下 安装 Oracle 11g XE R2  --创建一张表做测试之用 create table ...

操作blob字段是否会产生大量redo,答案是不会,下面来做一个实验,测试Oracle数据库版本是11.2.0.1.0:

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2
 
--创建一张表做测试之用
 
create table test_blob
 (
  id number,
  tupian blob
 );

import java.io.FileInputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import oracle.sql.BLOB;

public class BlobExample {
    static final String driver_class  = "oracle.jdbc.driver.OracleDriver";
    static final String connectionURL = "jdbc:oracle:thin:@10.10.15.25:1521:orcl";
    static final String userID        = "test";
    static final String userPassword  = "test";

    private void insertTestBlob() {
        Connection conn=null;
        Statement stm=null;
        ResultSet rs=null;
        BLOB blob = null;
        FileInputStream fin=null;
        OutputStream out=null;
        try{
            conn = DriverManager.getConnection(connectionURL, userID, userPassword);
            stm = conn.createStatement();
            conn.setAutoCommit(false);
            String sql = "insert into test_blob values(1,EMPTY_BLOB())";
            stm.executeUpdate(sql);
            rs = stm.executeQuery("SELECT tupian FROM test_blob WHERE id=1 FOR UPDATE ");
          fin = new FileInputStream("d://20130317.jpg");
          byte[] blobBuf = new byte[(int)fin.available()];
          fin.read(blobBuf);
          fin.close();

          if(rs.next()) {
            blob = (oracle.sql.BLOB)rs.getBlob(1);
            out = blob.getBinaryOutputStream();
            out.write(blobBuf);
            out.close();
            conn.commit();
          }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            try {
                rs.close();
                stm.close();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    public static void main(String args[]){
        BlobExample  blobClobExample = new BlobExample();
        blobClobExample.insertTestBlob();
    }
}

更多详情见请继续阅读下一页的精彩内容:


    
 
 

您可能感兴趣的文章:

  • ORACLE数据库常用字段数据类型介绍
  • oracle 实际值超过数据库某个字段指定长度报错解决
  • Oracle用什么语句查询字段?
  • 关于Oracle BLOB类型,一个String字符怎么写入BLOB字段?
  • 与Oracle连接时,怎样添加Bolb,Clob字段?急!!!!!
  • oracle删除表字段和oracle表增加字段
  • 请问保存文章内容的字段应用什么类型的(oracle),急!!!
  • 请问jboss+oracle文件怎样配置,数据库中文字段不为乱码
  • ****请教关于oracle中date型字段的显示问题。谢谢!!!**
  • Oracle 中文字段进行排序的sql语句
  • oracle中怎么没有boolean类型的字段?应该用什么代替?
  • 怎样将当前时间写到Oracle中date类型的字段中!!!!!!!!!!!!
  • 如何向oracle库中字段类型是date的添加数据
  • Oracle中大字段问题,数据大了就写不进去了。
  • Oracle 自增(auto increment) 或 标识字段的建立方法
  • jsp显示oracle中varchar2类型字段 在线等待
  • 在oracle数据库里创建自增ID字段的步骤
  • oracle关键字作为字段名使用方法
  • Oracle 查询表信息获取表字段及字段注释
  • jsp如何选择更新oracle的date字段
  • Oracle 实现类似SQL Server中自增字段的一个办法
  • Oracle 登录产生了01033错误
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于JDBC连接Oracle数据库,是否必须有Oracle客户端
  • Linux系统查看Oracle服务是否启动
  • oracle for linux 是否免费?
  • Window客户端通过ADO是否能够连接和操作Unix平台下的Oracle数据库?
  • shell调用oracle储存过程,怎么判断储存过程执行结果是否正确
  • solaris9下怎么查看oracle服务是否启动,以及怎么启动,在线等待。
  • Oracle判断指定列是否全部为数字的sql语句
  • 在unix下,用root登陆后,如何判断oracle是否启动了?
  • linux上安装oracle 数据库后,是否能写shell程序实现数据库的自动启动。
  • 查找oracle数据库表中是否存在系统关键字的方法
  • Oracle删除表前判断表名是否存在若存在则删除
  • SOS!java如何用jdbc与oracle相连,是否要安装相应的驱动程序
  • cpio文件是否一定要刻成光盘才能安装?(oracle9i安装)
  • oracle使用instr或like方法判断是否包含字符串
  • 紧急! 如何得知一特定表是否存在的信息?(ORACLE).....
  • 在Oracle的每行数据上,都有一个标志位来表示该行数据是否被锁定。标志位是什么?
  • REDHAT LINUX 企业版是否有盗版问题;ORACLE 一定要用LINUX企业版么?
  • 安装Oracle失败后是否一定要重装系统
  • Oracle中检查是否需要重构索引的sql
  • 查看Oracle中是否有锁表的sql
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,