1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 在oracle数据库中如何插入CLOB值

在oracle数据库中如何插入CLOB值

时间:2021-06-07 20:00:17

相关推荐

在oracle数据库中如何插入CLOB值

分享一下我老师大神的人工智能教程!零基础,通俗易懂!/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

轉貼:/cmtobby/

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();

}

mit();

}

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();}

}

}

给我老师的人工智能教程打call!/jiangjunshow

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。