`
wlh269
  • 浏览: 453122 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据库中如何插入读取CLOB值

阅读更多

java在oracle数据库中如何插入读取CLOB值2009年04月17日 星期五 15:19在oracle数据库中如何插入CLOB值 oracle中最常用的varcher2类型最多只能存储4000个字节的内容,一般情况下是能够满足用户的需求的。但是在一些特殊情况下(如要存储图片或者要存储的内容超过了4000个字节),varcher2就满足不了这个需求了。这个时候我们可以借助于oracle里面的大字段CLOB后者 BLOB。举例如下: 首先,在数据库中建一张表news,为了简单起见,只有一个字段content(CLOB)。做好准备工作后就可以开始我们的CLOB之旅了。 以下是插入CLOB的代码: import java.sql.*; import java.io.*; public class TestClob{ public void TestClob(){} public static void main(String args[]){

try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connectionconn=DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:ora32","tjpt","tjpt");
conn.setAutoCommit(false);
//第一步:插入一个空的
CLOB String sql1="insert into news(content,id) values (EMPTY_CLOB(),'1')";
PreparedStatement ps1=conn.prepareStatement(sql1);
ps1.executeUpdate();
 ps1.close();
 //第二步:取出该CLOB
 String sql2="select content from news for update";
 PreparedStatement ps2=conn.prepareStatement(sql2);
 ResultSet rs2=ps2.executeQuery();
 while (rs2.next()){
 oracle.sql.CLOB clob=(oracle.sql.CLOB)rs2.getClob(1);
 BufferedWriter out=new BufferedWriter(clob.getCharacterOutputStream());
 String content="1234";
 //假定这是新闻的内容,当然可以也可以是其他的内容
  out.write(content,0,content.length());
  out.close(); }
  conn.commit();

} catch(Exception e){e.printStackTrace();} } } 既然插入进去了,那我们还得要检验一下:插进去的是不是你想插进去的内容?以下就是读取CLOB的代码: import java.sql.*; import java.io.*; public class ReadClob{ public void ReadClob(){} public static void main(String args[]){ try{ Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora32","tjpt","tjpt"); String sql1="select content from news"; PreparedStatement ps1=conn.prepareStatement(sql1); ResultSet rs1=ps1.executeQuery(); while (rs1.next()){ oracle.sql.CLOB clob=(oracle.sql.CLOB)rs1.getClob(1); BufferedReader in=new BufferedReader(clob.getCharacterStream()); StringWriter out=new StringWriter(); int c; while((c=in.read())!=-1){ out.write(c); } String content=out.toString(); System.out.println (content);//输出CLOB内容 } } catch(Exception e){e.printStackTrace();} }}

分享到:
评论

相关推荐

    数据库读取clob字段

    ### 数据库读取CLOB字段 #### 概述 在Oracle数据库中,CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型。CLOB能够容纳4GB的文本信息,适用于存储如文章、报告或者XML文档等大型文本数据。...

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

    `getCharacterStream()`方法返回一个输入流,可以用来读取CLOB中的字符数据。 ```java Reader reader = clob.getCharacterStream(); ``` 3. **读取内容**: 使用`BufferedReader`来逐行读取CLOB中的内容,并将...

    数据库中clob类型转换的问题 数据库中clob类型转换的问题

    在探讨“数据库中CLOB类型转换的问题”这一主题时,我们首先需要理解CLOB(Character Large Object)数据类型的基本概念及其在数据库中的应用场景。随后,将深入分析CLOB类型转换过程中可能遇到的问题,并提供相应的...

    java读取oracle数据库中clob字段.txt

    java读取oracle数据库中clob字段 把oracle数据库中字段类型为clob的字段值以字符串的形式读取出来

    jdbc 处理clob类型字段

    本主题主要探讨如何使用JDBC有效地操作Oracle数据库中的CLOB类型字段,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)等操作。 首先,我们需要理解CLOB的基本概念。CLOB是一种数据库对象,...

    mybatis 对clob类型转换

    这个TypeHandler实现了将String转换为CLOB并插入数据库,以及从CLOB读取回String。 4. **在Mapper XML文件中使用** 在Mapper的XML文件中,确保在CLOB类型的字段上使用了正确的TypeHandler,例如: ```xml ...

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

    在数据库管理中,存储非结构化数据如图片、音频或视频文件时,通常会使用`CLOB`(Character Large Object)和`BLOB`(Binary Large Object)这两种数据类型。Oracle数据库系统支持这两种数据类型,用于存储大量文本...

    clob数据库表结构如下

    程序清单中的Java代码展示了如何从一个名为`MAXPRESENTATION`的数据库表中读取CLOB数据,并将其写入到本地文件系统。这个过程涉及到几个关键步骤: 1. **数据库连接**:首先,代码通过`DriverManager`注册并加载...

    jsp读取大对象CLOB并生成xml文件示例

    3. **读取CLOB内容**:由于CLOB存储的是大量字符数据,我们需要逐段读取。可以使用`getSubString()`方法来获取特定范围内的字符串。 ```java String xmlContent = clob.getSubString(1, (int) clob.length()); ``` ...

    运用Java如何存取Oracle中的CLOB类型字段

    在示例代码中,可以看到使用`empty_clob()`函数来创建一个空的CLOB对象,并通过`CLOB.setString()`方法向CLOB中写入数据。此外,还可以通过`PreparedStatement`的`setClob()`方法直接将CLOB对象作为参数传递,以简化...

    ORACLE中CLOB字段转String类型

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

    clob 的读存问题

    在Oracle数据库中,读取CLOB数据主要通过`CLOB`类的实例化对象完成。当执行SQL查询并获取结果集后,可以通过调用`ResultSet`对象的`getCLOB()`方法来获取CLOB字段的值。获取到CLOB对象后,通常会使用`...

    oracle数据库的clob大字段在jdbc中的处理方式

    5. **读取CLOB内容**:使用`Clob`接口提供的`getCharacterStream()`或`getAsciiStream()`方法获取CLOB的输入流。对于纯文本,通常使用`getCharacterStream()`。如果CLOB包含非ASCII字符,可能需要使用`...

    Mybatis 处理 CLOB、BLOB 类型数据

    在 Oracle 数据库中,CLOB 类型对应的数据库类型是 CLOB,在 MySQL 中对应的类型是 TEXT 或 LONGTEXT。 BLOB 类型用于存储二进制数据,可以存储图片、音乐、视频等文件。在 Oracle 数据库中,BLOB 类型对应的数据库...

    java中操作oracle的CLOB字段精解

    Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)类型的字段来存储这些数据。下面我们将...

    DELPHI的CLOB和BLOB存取处理.zip_DELPHI的CLOB和BLOB存取处理_hallzgz

    在DELPHI中,通常会使用ADO(ActiveX Data Objects)或DBX(Database Express)等组件来访问数据库,这些组件提供了对CLOB和BLOB的支持。 1. ADO组件处理CLOB和BLOB: - 使用TADOQuery、TADODataset等组件与数据库...

    java存储oracle中的clob类型

    - **getCharacterStream()**:返回一个`java.io.Reader`对象,按照Unicode编码读取CLOB数据。 - **getAsciiStream()**:返回一个`java.io.InputStream`对象,按照ASCII编码读取CLOB数据。 当数据库中可能包含中文等...

    oracle数据库中如何处理clob字段方法介绍

    3. **读取CLOB数据**: - 使用`getClob`方法获取CLOB对象,然后通过`getCharacterStream`获取字符流读取内容。 ```java CLOB clob = (CLOB) rs.getClob("FLD_CONTENT"); Reader reader = clob....

    oracle(blob转换为clob)

    接下来,使用`DBMS_LOB.SUBSTR`按块读取BLOB数据,将其转换为`VARCHAR2`类型,再使用`DBMS_LOB.WRITEAPPEND`将转换后的数据写入到CLOB中。最后返回转换后的CLOB数据。 #### 4. 更新表中的数据 在实际应用中,一旦...

Global site tag (gtag.js) - Google Analytics