`
keepwork
  • 浏览: 334502 次
  • 性别: 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比较要些

 

 

分享到:
评论

相关推荐

    杜均--ODI BLOB到Long Raw集成方法

    在数据库领域,随着技术的发展,Oracle不断优化其数据存储能力,引入了CLOB(Character Large Object)和BLOB(Binary Large Object)等数据类型,以取代早期版本中使用的Longraw类型。Longraw类型主要应用于Oracle ...

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

    在数据库管理中,存储非结构化数据...综上所述,`CLOB`和`BLOB`都是在Oracle中存储图片的有效方法,具体选择哪种方式取决于应用场景和需求。`ClobAndBlob`工具提供了一种便捷的方式来体验和比较这两种方式的使用效果。

    load blob clob

    "AnySQL_net » Blog Archive » 如何将BLOB的内容转到LONG RAW中.html"这篇文章可能会探讨如何在Oracle中将Blob数据转换为LONG RAW类型,LONG RAW是Oracle另一种存储大对象的方式,但只适用于二进制数据。...

    ODI BLOB到Long Raw集成方法

    - **选择LKM**:使用LKM SQL to SQL BTL(Jython),这个Knowledge Module(KM)能将源数据中的BLOB值同步到目标LONGRAW。 - **选择IKM**:选择IKM SQL NULL,可能用于处理空值或无映射的字段。 - **接口实现**:...

    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob).pdf

    在Oracle数据库中,有多种数据类型用于存储不同类型的数据,其中包括Long、Raw和Blob。这些字段类型各有其特性和用途,下面我们将详细探讨它们,并通过一个简单的示例来展示如何在Oracle数据库中对这些类型进行读写...

    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob) (2).pdf

    在Oracle数据库中,有多种数据类型用于存储不同类型的数据,其中包括Long、Raw和Blob。这些字段类型各有其特性和用途。 1. Long类型:Long数据类型用于存储大文本数据,如用户简历(EMP_DESCLONG)。它能存储的最大...

    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob) (2).docx

    在ORACLE数据库中,有多种数据类型用于存储不同类型的值,包括VARCHAR2、LONG、RAW以及BLOB。这些数据类型在处理不同类型的数据时各有特点,下面将详细解释它们的用法,并提供相应的读写示例。 1. VARCHAR2:这是...

    Struts2 Hibernate存取Oracle数据库中的BLOB数据.pdf

    ### Struts2框架介绍 Struts2是一个基于Java语言...同时,对于未来技术选型,Oracle数据库推荐优先考虑使用CLOB和BLOB类型来存储大型数据,因为这些类型比LONG类型拥有更好的特性,例如更大的容量和更好的操作灵活性。

    oracle-字段类型.pdf

    7. **LONG RAW**:与LONG类似,但用于存储可变长度的二进制数据,最大长度同样为2GB。同样,它也被BLOB等类型替代。 8. **BLOB**:用于存储大型二进制对象,如图像、视频,最大长度可达4GB。数据存储在数据库内部,...

    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob).docx

    本示例主要探讨了三种特定的数据类型:Long、Raw和Blob,以及如何在数据库中对它们进行插入(INSERT)、更新(UPDATE)和查询(SELECT)操作。以下是关于这些字段类型及其使用方法的详细说明: 1. VARCHAR2(20):这...

    mysql与oracle数据类型对应关系.pdf

    - LONGBLOB和LONGTEXT:存储大型对象,Oracle中对应BLOB和CLOB。 - MEDIUMBLOB和MEDIUMINT:介于BLOB/TINYBLOB与LONGBLOB/INT之间,Oracle没有直接对应,可用BLOB或NUMBER替代。 - MEDIUMTEXT:对应Oracle的CLOB...

    oracle的数据类型_java中Clob型详细用法_struts中实现图片上传功能

    5. LONG: 用于存储长字符串,最大长度可达 2GB,但不支持字符串搜索,已被 BLOB、CLOB 和 NCLOB 等大对象类型逐渐取代。 6. RAW(n) 和 LONG RAW: 二进制数据类型,RAW 用于存储较小的二进制文件,最大长度为 2000 ...

    Oracle与DB2数据类型的对应说明书

    DB2/400提供VARCHAR和CLOB与Oracle中的RAW和LONG RAW相对应。Oracle也支持大对象:BLOB、CLOB、NCLOB等。DB2/400中的BLOB和CLOB只能存放2GB的数据,而Oracle中的BLOB和CLOB可以提供4GB的空间。 五、ROWID类型 ...

    oracle基本数据类型及用法

    - **LONG**: 用于存储大量文本数据,但现代实践中,一般推荐使用BLOB或CLOB代替。 2. **数值型数据类型**: - **NUMBER**: 最通用的数值类型,可以表示整数和浮点数,可以指定精度(总位数)和刻度(小数位数)。...

    Oracle与DB2数据类型分类对应说明

    DB2/400 提供 VARCHAR 和 CLOB 与 Oracle 中的 RAW 和 LONG RAW 相对应。Oracle 也支持大对象:BLOB、CLOB、NCLOB 等。例如,Oracle 中的 BLOB 和 CLOB 可以提供 4GB 的空间,而 DB2/400 中的 BLOB 和 CLOB 只能存放...

    oracle海量图像数据的存储

    - **BLOB (Binary Large Object)**:与Oracle 7中的`LONGRAW`类型类似,用于存储无结构的二进制数据。BLOB数据在存储时不进行任何解码,保持原始形式。 - **BFILE (Binary File)**:提供对存储在Oracle数据库之外的...

    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与sql_server数据类型对应关系.doc

    3. **TEXT和IMAGE列限制**:每个复制表最多允许一个TEXT或IMAGE类型的列,且该类型会被映射为Oracle的LONG RAW。 4. **DATETIME映射问题**:SQL Server的datetime数据类型在Oracle中会被映射为char4,这可能造成...

    oracle新手入门指导之四——ORACLE数据类型 .txt

    - **LONG RAW**:与`LONG`类似,用于存储二进制数据,最大长度同样为2GB。同样不建议使用。 - **BLOB**:二进制大对象类型,最大长度为4GB,用于存储图像、声音等非文本数据。 - **CLOB**:字符大对象类型,最大长度...

Global site tag (gtag.js) - Google Analytics