`

有关oracle字段类型blob.clob

阅读更多

 有关oracle字段类型的相关信息可以查阅oracle技术网。下面摘抄一些有关blob.clob等类型的说明。便于大家的了解。
字段类型:blob,clob,nclob
说明:三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。可以执行读取、存储、写入等特殊操作。

我们所操作的clobtest_table中属性是(字符型id,CLOB型picstr),目前我们假设一个大的字符对象str已经包含了我们需要存入picstr字段的数据。而且connection对象conn已经建立。以下的例子程序也因为不想占用太多的空间,所以对抛出异常没有写。大家参考一下api doc。就可以知道该抛出什么异常了,此处仅仅告诉大家如何去写。

代码:
 
 
(1)对数据库clob型执行插入操作
************************************************* 

 
java.sql.PreparedStatement pstmt = null; 
ResultSet rs = null; 
String query = ""; 
 
conn.setAutoCommit(false); 
       query = "insert into clobtest_table(id,picstr) values(?,empty_clob())"; 
java.sql.PreparedStatement pstmt = conn.prepareStatement(query); 
pstmt.setString(1,"001"); 
pstmt.executeUpdate(); 
pstmt = null 
       query = "select picstr from clobtest_table where id = '001' for update"; 
pstmt = con.prepareStatement(query) 
rs= pstmt.executeQuery(); 
 
oracle.sql.CLOB clobtt = null; 
if(rs.next()){ 
    clobtt = (oracle.sql.CLOB)rs.getClob(1); 
} 
Writer wr = clobtt.getCharacterOutputStream(); 
wr.write(strtmp); 
wr.flush(); 
wr.close(); 
rs.close(); 
con.commit(); 
 
 

 
 
(2)通过sql/plus查询是否已经成功插入数据库
*************************************************
 
PL/SQL的包DBMS_LOB来处理LOB数据。察看刚才的插入是否成功。使用DBMS_LOB包的getlength这个procedure来检测是否已经将str存入到picstr字段中了。如: 
 

SQL> select dbms_lob.getlength(picstr) from clobtest_table; 

  
 
(3)对数据库clob型执行读取操作
*************************************************
 
读取相对插入就很简单了。基本步骤和一半的取数据库数据没有太大的差别。

String description = "" 
      query = "select picstr from clobtest_table where id = '001'"; 
pstmt = con.prepareStatement(query); 
ResultSet result = pstmt.executeQuery(); 
if(result.next()){ 
    oracle.jdbc.driver.OracleResultSet ors =  
              (oracle.jdbc.driver.OracleResultSet)result; 
    oracle.sql.CLOB clobtmp = (oracle.sql.CLOB) ors.getClob(1); 
 
    if(clobtmp==null || clobtmp.length()==0){ 
        System.out.println("======CLOB对象为空 "); 
        description = ""; 
    }else{ 
        description=clobtmp.getSubString((long)1,(int)clobtmp.length()); 
        System.out.println("======字符串形式 "+description); 
    } 
} 

 

分享到:
评论

相关推荐

    oracle(blob转换为clob)

    在Oracle数据库环境中,数据类型BLOB(Binary Large Object)用于存储大量的二进制数据,如图像、音频或视频文件,而CLOB(Character Large Object)则用于存储大量文本数据。在某些情况下,可能需要将BLOB类型的...

    clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle

    在Oracle数据库中,CLOB(Character Large Object)和BLOB(Binary Large Object)是用来存储大量文本数据和二进制数据的特殊数据类型。CLOB用于存储大文本数据,如长篇文章或XML文档,而BLOB则用于存储图像、音频、...

    如何将DB2数据库中的大对象(BLOB,CLOB)数据类型复制到Oracle数据库中

    Oracle数据库同样支持BLOB和CLOB数据类型,但需要特殊配置来处理来自其他数据库的大对象数据。 3. **特殊配置策略**: - **联邦能力**:利用WII的联邦功能,先将DB2中的非BLOB字段复制到Oracle目标表中。 - **...

    ORACLE中CLOB字段转String类型

    ### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...

    Mybatis 处理 CLOB、BLOB 类型数据

    CLOB(Character Large OBject)和 BLOB(Binary Large OBject)都是大字段类型,用于存储大量的数据。 CLOB 类型用于存储文本数据,可以存储长文本、文章、备注等信息。在 Oracle 数据库中,CLOB 类型对应的数据库...

    Oracle导出Clob,Blob工具

    Oracle数据库在处理大对象(LOB)类型,如Clob(Character Large Object)和Blob(Binary Large Object)时,有时需要专门的工具来进行高效且安全的数据导出。这些字段通常存储大量的文本或二进制数据,比如长篇文档...

    sql server中的image类型的数据导出到oracle的clob字段中

    SQL Server 中 Image 类型数据导出到 Oracle 的 CLOB 字段中 在进行数据库迁移或数据交换时,需要将不同数据库管理系统之间的数据类型进行转换。在本文中,我们将讨论如何将 SQL Server 中的 Image 类型数据导出到 ...

    BLOB和CLOB的区别以及在ORALCE中的插入和查询操作

    它们都是Oracle数据库中重要的字段类型,用于处理大数据量的文本或二进制文件。了解BLOB和CLOB的区别以及如何在Oracle中进行插入和查询操作对于数据库开发者和管理员来说至关重要。 首先,我们来看BLOB和CLOB的主要...

    oracle中的BLOB(照片)转换到mysql中

    总结来说,从Oracle的BLOB类型字段中提取并转换到MySQL的过程涉及到查询、导出、上传等多个步骤。在实际操作中,需要对数据库API有深入理解,并注意数据的兼容性和性能优化。通过以上方法,你可以顺利地在两个数据库...

    Oracle8i对Blob和Clob类型的操作

    在Oracle8i版本中,数据库支持了大型对象(LOB)类型,包括BLOB(Binary Large Object)和CLOB(Character Large Object)。这两种数据类型用于存储大量二进制数据(如图片、视频或文档)和文本数据(如长篇文章或...

    mysql和Oracle在对clob和blob字段的处理

    本文将深入探讨这两个数据库系统如何处理`CLOB`(Character Large Object)和`BLOB`(Binary Large Object)字段,这两种字段类型主要用于存储大量文本或二进制数据。 `CLOB`用于存储非结构化的字符数据,如长篇...

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

    例如,可以创建一个`IMAGES`表,包含`ID`(主键)、`IMAGE_CLOB`(CLOB类型)和`IMAGE_BLOB`(BLOB类型)字段。 - **图片转二进制/字符串**:对图片进行读取,如果是使用`CLOB`,需要将图片转换为Base64字符串;...

    Oracle bolb转换Base64 CLOB.txt

    Oracle slq bolb转换Base64 CLOB

    Oracle导出Clob,Blob工具版本2

    Oracle数据库在存储大对象(BLOB和CLOB)时提供了强大的功能,但处理这些类型的数据进行导入导出可能会带来挑战。"Oracle导出Clob,Blob工具版本2" 是一个专为解决这个问题而设计的应用程序,它改进了对CLOB...

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

    BLOB(Binary Large Object)是Oracle数据库用于存储大量二进制数据的字段类型。它可以存储任何长度的二进制数据,例如图像、音频文件或PDF文档。BLOB字段在数据库中以字节流的形式存在,可以进行读写操作。 要实现...

    JAVA对clob的操作

    在JAVA中,操作Oracle数据库中的BLOB和CLOB类型字段是一种常见的需求。然而,网络上关于JAVA对Oracle中BLOB、CLOB类型字段的操作说明往往不够全面、不够准确,甚至有的简直就是胡说八道。因此,本文旨在总结JAVA对...

    jdbc读写Oracle的CLOB字段

    JDBC读写Oracle的CLOB字段

    读取oracle数据库中clob字段的值

    在处理Oracle数据库时,经常会遇到需要读取CLOB(Character Large Object)类型字段的情况。CLOB主要用于存储大量的文本数据,如文章、文档等内容。由于CLOB类型的数据量可能非常大,因此在读取时需要特别注意性能和...

    oracle blob 字段 读写 delphi

    Oracle数据库中的BLOB(Binary Large Object)字段是用来存储大量二进制数据的,例如图片、文档或音频文件。在Delphi编程环境中,处理这类数据时需要掌握特定的API调用和方法。本篇文章将深入探讨如何在Delphi中对...

Global site tag (gtag.js) - Google Analytics