使用java操作Oracle数据库中的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 = ;
ResultSet rs = ;
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 =
query = select picstr from clobtest_table where id = 001 for
pstmt = con.prepareStatement(query)
rs= pstmt.executeQuery();

oracle.sql.CLOB clobtt = ;
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== || clobtmp.length()==0){
System.out.println(======CLOB对象为空 );
description = ;
}else{
description=clobtmp.getSubString((long)1,(int)clobtmp.length());
System.out.println(======字符串形式 description);
}
}

时间: 2024-09-12 11:29:53

使用java操作Oracle数据库中的CLOB数据类型的相关文章

clob-请问PHP如何读取Oracle数据库中的CLOB字段?

问题描述 请问PHP如何读取Oracle数据库中的CLOB字段? 请问PHP如何读取Oracle数据库中的CLOB字段?数据库中CLOB字段中是文本内容. 试了N多次,都没用,还望各位大神不吝赐教,感谢!

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

在知识库的建立的时候,用普通VARCHAR2存放文章是显然不够的,只有区区4000的字节,放不了多少字, 而CLOB数据类型,则能最多存放8G的数据.但是这个字段处理起来有比较多的特殊性,记录一下. 插入: 直接写在SQL里面是不行的,一来SQL脚本有字符数限制,而来文章内容包含许多特殊字符,如换行,引号, 之类的东西,很麻烦.网上流行通用做法是先插入一个空CLOB字段,用empty_clob()方法来创建空字段,如: 复制代码 代码如下: INSERT INTO T_TOPIC(TOPIC_I

java操作oracle数据库示例_java

最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项"库",然后点击"添加外部Jar",选择"D:\Oracle\app\oracle\product\11.2.0\server \jdbc\lib\ojdbc6_g.jar"(注:D:\Oracle为数据库的安装路径). 2.以下代码为非常标准的Oracle数据库连接代码示例: 复制代码 代码如下: /** * 一个非

java 操作ORACLE数据库问题

问题描述 项目中要求所以有的INSERT语句都要写到properties文件中,通过读配置文件把记录写到数据库中,请问哪位高手做过类似的项目啊.给个例子,谢谢!! 解决方案 解决方案二:写个读取properties文件的方法,通过键读取值,或者用ibatis吧!解决方案三:java访问资源文件Javacodeimportjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.util.Properties;publicc

Java操作Oracle数据库(建表,插数据,删除)

oracle|数据|数据库 import java.net.URL;import java.sql.*; public class Create { public Create() { }public static void main(String[] args){ String url = "jdbc:oracle:thin:@10.0.1.3:1521:SDCDB"; String query = "CREATE TABLE MYFIRST" + "(

java操作oracle数据库的时间类型

方法一.使用java.sql.Date实现比较简单的yyyy-mm-dd格式日期.java.sql.Date不支持时间格式.切记不要使用new java.sql.Date(int year,int month,int date),因为还要处 理时间差问题. PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)"); java.sql.Date buyda

Java连接操作Oracle数据库代码详解_java

废话不多说了,直接给大家贴关键代码了,具体代码如下所示: package com.sp.test; import java.sql.*; import java.util.*; public class Text_lianxi extends Thread { public void run() { try { yunxing(); Thread.sleep(10000); } catch (InterruptedException e) { // TODO 自动生成的 catch 块 e.pr

java连接Oracle数据库的方法解析_java

Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id number(11) not null primary key, stu_name varchar(16) not null, gender number(11) default null, age number(11) default null, address varchar(128) default null ); 2.向表中增添一些数据

java中如何将数据保存为txt、xml文件并上传到oracle数据库中 非常感谢!

问题描述 我想写一段代码,将一堆数据保存为一般文件,纪录式文件,xml文件,然后上传到oracle数据库中,因为之前没有到过类似的开发,所以无从开始,跪求帮忙了 解决方案 解决方案二:也许你可以baidu.google下,应该能找到很多例子,祝你好运!java读写xml文件如下:解决方案三:就是最基本的IO文件操作和JDBC操作.记得Oracle上用CLOB字段类型来保存大文本.解决方案四:引用2楼magong的回复: 就是最基本的IO文件操作和JDBC操作.记得Oracle上用CLOB字段类型