`
keepwork
  • 浏览: 326399 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle--BLOB、CLOB、LONG、LongRaw

 
阅读更多

开发者博客www.developsearch.com

 

通过临时表从DBLink中获取Blob对象

做系统集成时,通过Database Link共享数据是不错的选择。不过真正使用DBLink时却碰到一个不小的问题:从远程数据库上查询Blob字段时总返回ORA-22992错误,如下:
select blobcolumn from remoteTable@dl_remote;
ORA-22992: 无法使用从远程表选择的 LOB 定位器
查找了一下解决方法,有人提出了采用物化视图可以解决这个问题。物化视图唯一的缺陷在于同步机制的问题,如果同步时间设置过短,则占用大量的系统资源,给服务器带来极大的压力;如果设置时间过长,前台用户不可接受。
后来还是AskTom给出了极好的解决方案:使用全局临时表。

SQL> create global temporary table foo
   (
      X BLOB
    )
    on commit delete rows;
Table created
SQL> insert into foo select blobcolumn from remoteTable@dl_remote where rownum = 1;
1 row inserted
SQL>

插入本地临时表之后,在本地的操作就没有任何问题了。
至于为什么临时表可以直接插入,而永久表为什么不能插入,本人未做具体研究,Tom也没有说明。

 

 

BLOB、CLOB、LONG、LongRaw数据类型

LONG: 可变长的字符串数据,最长2G,LONG具有VARCHAR2列的特性,可以存储长文本一个表中最多一个LONG列
  LONG RAW: 可变长二进制数据,最长2G
  CLOB: 用来存储单字节的字符数据
  NCLOB: 用来存储多字节的字符数据
  BLOB: 用于存储二进制数据
  BFILE: 存储在文件中的二进制数据,这个文件中的数据只能被只读访。但该文件不包含在数据库内。
  CLOB,NCLOB,BLOB都是内部的LOB(Large Object)类型,最长4G,没有 LONG只能有一列的限制
  我要保存图片、文本文件、Word文件各自最好用哪种数据类型?
  --BLOB最好,LONG RAW也不错,但Long是oracle将要废弃的类型,因此建议用LOB。
注意:cob类型的不能通过dblink来访问,所以如果保存图片还是用long raw比较要些

 

 

分享到:
评论

相关推荐

    图片存入Oracle中,用clob和blob两种方式

    简单写的一个小工具,把图片存入oracle中,按clob和blob两种方式存储,并读取图片

    Oracle数据库恢复工具Oracle Database Unloader(ODU)3.09

    支持的数据类型包括:NUMBER, CHAR, VARCHAR2, NCHAR,NVARHCAR2, LONG, DATE, RAW, LONG RAW, BLOB, CLOB, TIMESTAMP (9i+) , BINARY FLOAT, BINARY DOUBLE (10g+) 导出的数据格式包括纯文本和DMP文件两种。以纯...

    oracle数据库修复

    支持的数据类型包括:NUMBER, CHAR, VARCHAR2, NCHAR,NVARHCAR2, LONG, DATE, RAW, LONG RAW, BLOB, CLOB, TIMESTAMP (9i+) , BINARY FLOAT, BINARY DOUBLE (10g+) 全面支持LOB字段: 支持CLOB、NCLOB和BLOB CLOB...

    oracle支持的数据类型

    LONG RAW 可变长度的二进制数据 最大长度2G 同上 BLOB 二进制数据 最大长度4G CLOB 字符数据 最大长度4G NCLOB 根据字符集而定的字符数据 最大长度4G BFILE 存放在数据库外的二进制数据 最大长度4G ROWID 数据表中...

    Oracle分区表和索引

    1、 大数据量的表,比如大于2GB。一方面2GB文件对于32位os是一个上限,另外备份时间长。  2、 包括历史数据的表... 最多可以分成64000个分区,但是具有LONG or LONG RAW列的表不可以,但是有CLOB or BLOB列的表可以。

    赤兔Oracle数据库恢复软件 v11.6.zip

    5.支持的数据类型包括:NUMBER, CHAR, VARCHAR2, NCHAR,NVARHCAR2, LONG, DATE, RAW, LONG RAW, BLOB, CLOB, TIMESTAMP (9i ) , BINARY FLOAT, BINARY DOUBLE (10g ) 6.全面支持LOB字段:支持CLOB、NCLOB和BLOBCLOB...

    北大青鸟Oracle教程集1

    4-4 Raw 和 Long Raw 数据类型 ―用于存储二进制数据 用于存储二进制数据 LOB 数据类型 ―CLOB ―BLOB ―BFILE 数据定义语言 数据定义命令 ―CREATE 命令 ―ALTER 命令 ―DROP 命令 ―TRUNCATE 命令 数据操纵语言 ...

    北大青鸟Oracle教程集2

    4-4 Raw 和 Long Raw 数据类型 ―用于存储二进制数据 用于存储二进制数据 LOB 数据类型 ―CLOB ―BLOB ―BFILE 数据定义语言 数据定义命令 ―CREATE 命令 ―ALTER 命令 ―DROP 命令 ―TRUNCATE 命令 数据操纵语言 ...

    oracle知识简介

    可以帮你对oracle整体知识的掌握 基本数据类型: CHAR(n) 定长字符串 最大长度为2000 VARCHAR2(n) 变长字符串 最大长度为4000字节 没有默认长度必须指定 ...LONG RAW 能存储2GB的二进制信息,建议所有开发中都使用CLOB

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    long raw 1~2GB 可变长二进制数据 LOB数据类型 clob 1~4GB 只能存储字符数据 nclob 1~4GB 保存本地语言字符集数据 blob 1~4GB 以二进制信息保存数据 三、 DDL语言 1. Create table命令 用于创建表。在创建表时,...

    Oracle8i_9i数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

    myoradump:MyOraDump 是一个用于从 Oracle 数据库导出数据的工具-开源

    MyOraDump 是一个程序,它将存储在大多数基本 oracle 类型中的 oracle 数据导出为文本文件... 此外还支持 BLOB、CLOB、NCLOB 以及 RAW、LONG 和 LONG RAW。 输出可以采用多种格式,如分隔值、JSON、MySQL 转储和 HTML。

    ob9数据库查看工具中文版.rar

    有关数据修改,LONG, LONG RAW, BLOB,CLOB的数据类型全都可以对应。 因为能马上显示输入的SQL语句的执行计划,所以可以一边确认输出结果和执行计划,一边创建出高效的SQL语句。可以实现从资源浏览器的拖放功能,...

Global site tag (gtag.js) - Google Analytics