- 浏览: 66038 次
- 性别:
- 来自: 重庆
文章分类
最新评论
-
hxtoyou:
Java适配器模式 -
Ueaner:
...
MYSQL查询语句大全集锦 -
volkswageos:
这的管用啊,不过应该指定一下在vs中的设置路径 project ...
运行MFC程序提示没有找到MFC42D.DLL文件的解决方法
java在oracle数据库中如何插入读取CLOB值??
在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();
}
}
在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();
}
}
发表评论
-
恶心的Oracle的if else if
2011-02-16 14:16 1206恶心的Oracle的if else if... 前段时间写Or ... -
oracle锁表
2010-12-14 16:12 463加锁是为了防止一些操作而进行的,比如说共享锁,可以防止别的 ... -
ORACLE表空间和导入导出
2010-11-05 23:05 1109-- 创建 WEBCQ 表空间 CREATE SMALLFIL ... -
Oracle内连接、外连接、右外连接、全外连接小总结
2010-09-27 21:54 910数据库版本:Oracle 9i 表TESTA,TESTB, ... -
Oracle数据库中如何选择合适的索引类型
2010-09-27 21:31 934索引就好象一本字典的目录。凭借字典的目录,我们可以非常 ... -
免安装Oracle运行pl/sql developer
2010-08-09 13:54 9551, 从http://www.oracle.com/techn ... -
SQL 2005 函数
2010-04-29 17:03 661聚合函数若要汇总一定范围的数值,请使用以下函数: SUM 返回 ... -
sql常用的 高级编程
2010-04-29 16:52 1013T-SQL 高级编程 /*-变量应用-*/ --局部变量以标 ... -
查询所有表中的记录数
2010-04-29 16:51 767create function row_count (@ta ... -
数据库优化查询计划的方法
2010-04-29 16:50 579数据库系统是管理信息 ... -
sql 存储过程导出表的数据
2010-04-29 16:48 591IF OBJECT_ID('spGenInsertSQL',' ... -
SQL Server2005通用分页存储过程
2010-04-29 16:47 575SET ANSI_NULLS ON GO SET QUOTED ... -
给SQL数据库表和字段添加描述信息
2010-04-29 16:46 1314--创建表 create table userin ... -
oracle修改表增加列删除列修改列
2010-04-29 16:45 9161.增加列 ALTER TABLE table_name AD ... -
ORACLE中日期和时间函数
2010-04-29 16:44 694TO_DATE格式 Day: dd number 12 ... -
将一张表的数据复制到另一张表中
2010-04-29 16:41 1908有两种方法: 1、Insert Into tableb_tmp ... -
sql系统数据库
2010-04-29 16:40 572sysaltfiles ... -
日期字符的转换
2010-04-29 16:39 420Select ROUND(TO_NUMBER(to_date( ... -
oracle MD5加密
2010-04-29 16:39 699Create Or Replace Function func ... -
oracle 函数 和 游标的使用列子
2010-04-29 16:38 850Create Or Replace Function T_JC ...
相关推荐
### 读取Oracle数据库中CLOB字段的值 在处理Oracle数据库时,经常会遇到需要读取CLOB(Character Large Object)类型字段的情况。CLOB主要用于存储大量的文本数据,如文章、文档等内容。由于CLOB类型的数据量可能...
java读取oracle数据库中clob字段 把oracle数据库中字段类型为clob的字段值以字符串的形式读取出来
### 数据库读取CLOB字段 #### 概述 在Oracle数据库中,CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型。CLOB能够容纳4GB的文本信息,适用于存储如文章、报告或者XML文档等大型文本数据。...
在IT领域,尤其是在数据库操作与Java编程的交集部分,理解和掌握如何在Java中存取Oracle数据库中的CLOB(Character Large Object)类型字段是至关重要的技能。CLOB数据类型主要用于存储大量的文本信息,如文章、报告...
从Oracle数据库读取中文数据后,需要将其转换回Java能够识别的编码格式,如GB2312或UTF-8。 **示例代码:** ```java String encoded = resultSet.getString("content"); String decoded = ECov.asc2gb(encoded); //...
- **准备环境**:首先确保已经安装了Oracle数据库客户端和相应的驱动程序,例如JDBC驱动,以便通过编程语言(如Java、Python等)与数据库交互。 - **连接数据库**:使用相应的连接字符串、用户名和密码建立与...
Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)类型的字段来存储这些数据。下面我们将...
本教程将介绍如何使用Java来读取和写入Oracle数据库中的CLOB字段。 首先,我们需要引入相关的Java和Oracle JDBC驱动库。在上述代码中,我们看到`import oracle.jdbc.driver.OracleDriver;`,这表示我们将使用Oracle...
在本文中,我们将详细介绍 Java 中 XML 文件的处理及 Oracle 中 XMLType 的插入和读取。 一、Oracle 中创建表 在 Oracle 数据库中,创建表用于存储 XML 数据。我们可以使用以下 SQL 语句创建一个名为 `resumes2` ...
在Java中,当我们需要通过JDBC(Java Database Connectivity)接口与Oracle数据库交互时,处理CLOB字段可能会遇到一些挑战。这篇文档将详细阐述如何在JDBC中有效地读取和操作Oracle数据库的CLOB字段,并将其转换为...
在Java程序中,可以使用jdbc驱动程序来连接Oracle数据库,并使用PreparedStatement对象来执行SQL语句,实现对大对象的存储和读取。例如: ``` Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@...
本主题主要探讨如何使用JDBC有效地操作Oracle数据库中的CLOB类型字段,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)等操作。 首先,我们需要理解CLOB的基本概念。CLOB是一种数据库对象,...
在Oracle数据库中,CLOB(Character Large Object)和BLOB(Binary Large Object)是用来存储大量文本数据和二进制数据的特殊数据类型。CLOB用于存储大文本数据,如长篇文章或XML文档,而BLOB则用于存储图像、音频、...
在描述中提到的“Oracle导出Clob,Blob等大字段工具”就是为了解决这个问题而设计的,它是一个自编写的实用程序,方便用户导出和管理Oracle数据库中的大对象数据。 Oracle数据库中的Clob类型用于存储大量的文本数据...
在JAVA中,操作Oracle数据库中的BLOB和CLOB类型字段是一种常见的需求。然而,网络上关于JAVA对Oracle中BLOB、CLOB类型字段的操作说明往往不够全面、不够准确,甚至有的简直就是胡说八道。因此,本文旨在总结JAVA对...
在Java编程中,有时我们需要将图像数据存储到数据库中,然后能够从数据库中读取出来。这个过程通常涉及到Blob和Clob数据类型,它们是Java中的两种特殊对象,用于存储大对象(LOB)。Blob用于存储二进制数据,如图片...
在使用 WebLogic 服务器进行应用程序开发时,尤其是在处理 Oracle 数据库中的 CLOB 类型数据时,开发者可能会遇到类型转换的问题。本文将详细介绍如何通过反射机制来解决 WebLogic 环境下 Oracle CLOB 类型转换成 `...
至于`代码片段.txt`,很可能包含了一个示例代码,演示了如何在Java中解析emoji并存入Oracle数据库。通常,这样的代码会包含以下步骤: 1. 使用`emoji-java`库解析输入字符串中的emoji。 2. 将emoji转换为UTF-16代理...