`
marc0658
  • 浏览: 80717 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ORACLE的CLOB存取

阅读更多
import java.sql.*;
import java.io.*;
import oracle.jdbc.driver.OracleResultSet;
import oracle.sql.CLOB;

public class TestOracleClob implements Serializable{
public static void main(String[] args)
{
//create table test (id integer,content clob);
System.out.println("-------------------insert -----------------");
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@fangm:1521:LICSFC","SFC","SFC");
//con.setAutoCommit(false);
//Ok 1
String sql="insert into test values(1,empty_clob())";
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
String sqll="select content from test where id=1 for update";
ResultSet rss=stmt.executeQuery(sqll);
if(rss.next()){
CLOB clob = ((OracleResultSet)rss).getCLOB(1);
clob.putString(1,"ddddddddddddddddddddddddddddddddddd");
sql="update test set content=? where id=1";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setClob(1,clob);
pstmt.executeUpdate();
pstmt.close();
}
//Ok 2
//String sql1="insert into test values(2,empty_clob())";
//ResultSet rs3=stmt.executeQuery(sql1);
String sql12="insert into test values(?,?)";
PreparedStatement pstmt1=con.prepareStatement(sql12);
pstmt1.setInt(1,2);
pstmt1.setClob(2,oracle.sql.CLOB.empty_lob());
pstmt1.executeUpdate();
String sqll2="select content from test where id=2 for update";
ResultSet rss2=stmt.executeQuery(sqll2);
if(rss2.next()){
CLOB clob = ((OracleResultSet)rss2).getCLOB(1);
clob.putString(1,"affffffffffdfdfdfdddddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdddfff");
String sql1="update test set content=? where id=2";
PreparedStatement pstmt=con.prepareStatement(sql1);
pstmt.setClob(1,clob);
pstmt.executeUpdate();
pstmt.close();
}
//con.commit();
rss.close();
rss2.close();
pstmt1.close();
rs.close();
stmt.close();
con.close();
System.out.println("-------------insert ok-------------");
}catch(Exception e){
System.out.println("insert:"+e);
}
System.out.println("-------------------query -----------------");
try{
String content="";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@fangm:1521:LICSFC","SFC","SFC");
Statement stmt=con.createStatement();
String sql="select content from test where id=1";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()){
CLOB clob = ((OracleResultSet)rs).getCLOB(1);
if(clob!=null){
Reader is=clob.getCharacterStream();
BufferedReader br=new BufferedReader(is);
String s=br.readLine();
while(s!=null){
content+=s+",";
s=br.readLine();
}
}

}
rs.close();
stmt.close();
con.close();
System.out.println("clob:"+content);
System.out.println("-------------query ok-------------");
}catch(Exception ee){
System.out.println("query:"+ee);
}

}
}
分享到:
评论

相关推荐

    hibernate存取oracle的clob

    hibernate存取oracle的clob

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

    ### 运用Java如何存取Oracle中的CLOB类型字段 #### 概述 在数据库操作中,经常会遇到处理大量文本数据的需求,例如存储文章、新闻、文档等。Oracle数据库提供了CLOB(Character Large Object)类型来存储大容量的...

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

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

    Oracle,Clob,Blob数据存取的Java代码

    以下是对Oracle中Clob和Blob数据存取的Java代码示例及详细解释。 首先,确保你的项目已经引入了Oracle JDBC驱动(如ojdbc.jar)。然后,你需要创建一个与Oracle数据库的连接,这通常通过`DriverManager.get...

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

    本篇文章将深入探讨DELPHI中如何有效地进行CLOB和BLOB的存取处理。 CLOB主要用来存储大文本数据,如长篇文章、XML文档或JSON字符串,而BLOB则用于存储大量的二进制数据,如图像、音频、视频文件或者任何非文本的...

    Oracle 插入超4000字节的CLOB字段的处理方法

    OracleClob clob = new OracleClob((OracleConnection)m_objConn); OracleParameter param = new OracleParameter('clob', OracleDbType.Clob, clob, ParameterDirection.Input); param.Value = "超过4000字符的超常...

    clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle

    对于CLOB和BLOB字段,Oracle JDBC驱动提供了`oracle.jdbc.driver.OracleClob`和`oracle.jdbc.driver.OracleBlob`类,它们实现了Java的标准接口`java.sql.Clob`和`java.sql.Blob`。这两个接口提供了读取和写入大数据...

    网页在Oracle中存取图片

    网页在Oracle中存取图片是一项常见的技术操作,尤其在企业级应用中,为了高效管理和存储大量数据,数据库系统如Oracle经常被用作图片资源的存储地。以下将详细阐述这一主题,包括图片的存储方式、访问流程以及相关...

    spring+hibernate操作oracle的clob字段

    Spring和Hibernate会自动处理CLOB的存取,无需额外的特殊处理。例如,如果你有一个更新方法,可以如下所示: ```java public void updateEntity(Entity entity) { assessRegDao.update(entity); } ``` 其中...

    Java存取OracleBlob字段,图片存储,Blob和BLOB的问题,Clob,oracle.docx

    ### Java存取Oracle Blob 字段详解 #### 一、Blob 和 BLOB 的区别 在处理 Oracle 数据库中的二进制大型对象(Binary Large Object,简称 Blob)时,开发者经常会遇到两个相似但不同的概念:`java.sql.Blob` 和 `...

    Word文件在Oracle中存取技术的设计与实现.pdf

    在实现Word文件在Oracle中的存取技术时,通常会有一个过程,如以下代码示例所示: ```vb Sub FileToColumn(col As ADODB.Field, WordFile As String) Const ChunkSize As Long = 4096 '每次处理4KB数据 Dim ...

    Oracle数据库图像存取技术.pdf

    Oracle数据库图像存取技术 在现代油田生产中,生产信息量日益庞大,数据的种类和格式也越来越多样化。除了传统的文本和数字,油田工作中产生了大量的图像信息,如井位图、横向图、连通图等。这些图像信息的高效管理...

    PHP处理Oracle的CLOB实例

    在PHP编程中,当需要与...在处理Oracle数据库中的CLOB字段时,了解这些细节至关重要,以确保数据能够正确、高效地进行存取。熟悉PDO的用法以及对CLOB类型的特殊处理,可以帮助开发者编写出更加健壮和高效的PHP代码。

    Excel文件在Oracle上的存取技术.pdf

    Oracle数据库提供了对大对象的存储支持,如CLOB、NCLOB用于存储文本数据,而BLOB和BFILE则用于存储二进制数据,如Excel文件。 文章作者赵鲁东指出,在开发油田作业设备综合评价系统时,面临的问题是Excel文件的存储...

    java存取oracle中的COLB类型数据.pdf

    Java 存取 Oracle 中的 CLOB 类型数据 Java 存取 Oracle 中的 CLOB 类型数据是 Java 开发中的一项重要任务。CLOB(Character Large OBject)是一种大型字符对象,用于存储大型文本数据,最大可存储 4GB 数据。在 ...

    利用Java程序实现Oracle数据库中大对象的存取.pdf

    Oracle支持4种LOB:BLOB、CLOB、NCLOB、BFILE其中,BLOB、CLOB、NCLOB是内部LOB,真正存储在数据库中;BFILE是唯一的外部LOB,它是以外部文件的方式存储在文件中。 本文以BLOB为例进行说明,它以二进制方式存储数据...

    Hibernate存储Clob字段的方式总结

    例如,Oracle数据库提供了支持以String方式处理Clob的新驱动程序。 在Hibernate框架中,可以直接将数据库的Clob字段映射为Java中的String类型。这种方法的优点是代码更为简洁,不需要转换Clob开流,也不用编写...

    Oracle数据库大对象数据存取的两种实现方法及时间性能比较.pdf

    Oracle数据库中的大对象数据主要分为两类:字符型LOB(CLOB和NCLOB)与二进制型LOB(BLOB),以及存储在操作系统文件中的BFILE类型。由于BFILE类型数据存储在文件系统,本文关注点在于内部表空间和操作系统目录的...

Global site tag (gtag.js) - Google Analytics