数据文件直接使用中文
package core;
import java.io.*;
import java.sql.*;
import common.*;
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class ClobEx {
public static void addLob(int id, String binFile) throws SQLException {
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
con = ConnectionFactory.getFactory().getConnection();
con.setAutoCommit(false);
String sql = "INSERT INTO tbl_clob(id, remark) " +
"VALUES(?, ?)";
ps = con.prepareStatement(sql);
ps.setInt(1, id);
ps.setClob(2, oracle.sql.CLOB.empty_lob());
ps.executeUpdate();
DBUtils.close(ps);
ps = con.prepareStatement(
"SELECT remark FROM tbl_clob" +
" WHERE id = " + id);
rs = ps.executeQuery();
if (rs.next()) {
oracle.sql.CLOB remark =
(oracle.sql.CLOB)rs.getClob(1);
PrintWriter out = new PrintWriter(new OutputStreamWriter(remark.getAsciiOutputStream()));
BufferedReader in = new BufferedReader(
new FileReader(binFile));
String s;
while ((s = in.readLine()) != null) {
out.println(s);
}
in.close();
out.close();
}
con.commit();
} catch (Exception e) {
e.printStackTrace();
try {
con.rollback();
} catch (SQLException se) {
}
throw new SQLException(e.getMessage());
} finally {
DBUtils.close(rs, ps, con);
}
}
public static void fetchLob(int id, String filename) throws SQLException {
Connection con = null;
Statement st = null;
ResultSet rs = null;
try {
con = ConnectionFactory.getFactory().getConnection();
String sql = "SELECT * from tbl_clob where id = " + id;
st = con.createStatement();
rs = st.executeQuery(sql);
if (rs.next()) {
oracle.sql.CLOB remark =
(oracle.sql.CLOB)rs.getClob("remark");
PrintWriter out = new PrintWriter(
new FileWriter(filename));
BufferedReader in = new BufferedReader(
new InputStreamReader(
remark.getAsciiStream(), "GB2312"));
String s;
while ((s = in.readLine()) != null) {
out.println(s);
}
in.close();
out.close();
}
} catch (Exception e) {
throw new SQLException(e.getMessage());
} finally {
DBUtils.close(rs, st, con);
}
}
public static void main(String[] args) throws Exception {
addLob(5, "test_u.txt");
fetchLob(5, "test_c.txt");
System.out.println("completed!");
}
}
分享到:
相关推荐
在IT领域,尤其是在数据库操作与数据管理中,CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型,常用于保存如文章、报告、注释等大文本信息。本文将详细解析CLOB的读写问题,包括其在Oracle...
在数据库管理中,存储非结构化数据如图片、音频或视频文件时,通常会使用`CLOB`(Character Large Object)和`BLOB`(Binary Large Object)这两种数据类型。Oracle数据库系统支持这两种数据类型,用于存储大量文本...
### 图片存储数据库——CLOB类型 #### 一、引言 在开发Web应用程序时,经常需要处理多媒体数据,如图像、音频或视频文件。这些文件通常体积较大且格式多样,如何有效地存储与检索这类非结构化数据成为了一个重要的...
CLOB、BLOB 与 CLOB 与 BLOB 的区别 CLOB(Character Large OBject)是一种数据库类型,用于存储大型字符对象。它是 SQL 类型,用于存储字符大对象(Character Large Object),将字符大对象存储为数据库表某一行中...
大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,...
例如,在Oracle中,你可以创建一个包含CLOB列的表,然后使用`TO_CLOB`函数将字符串转换为CLOB类型进行插入。 ```sql CREATE TABLE my_table (id NUMBER, content CLOB); INSERT INTO my_table (id, content) ...
C#。ora存、查clob类型帮助文档。DLL类库下载看我Oracle.ManagerDataAccess.Dll类库。
在数据库中,CLOB(Character Large Object)类型用于存储大文本数据,如长篇文章或XML文档。在使用MyBatis框架进行数据操作时,我们可能会遇到CLOB类型数据的读写问题,尤其是在转换和插入数据库时。本篇将详细探讨...
### WebLogic 下 Oracle CLOB 类型转换解决方案 在使用 WebLogic 服务器进行应用程序开发时,尤其是在处理 Oracle 数据库中的 CLOB 类型数据时,开发者可能会遇到类型转换的问题。本文将详细介绍如何通过反射机制来...
### 数据库读取CLOB字段 #### 概述 在Oracle数据库中,CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型。CLOB能够容纳4GB的文本信息,适用于存储如文章、报告或者XML文档等大型文本数据。...
当我们在处理大型文本数据时,例如XML文档、长篇文章或者大段代码,数据库通常会提供CLOB(Character Large Object)类型来存储这类数据。本主题主要探讨如何使用JDBC有效地操作Oracle数据库中的CLOB类型字段,包括...
在数据库编程领域,CLOB(Character Large Object)和BLOB(Binary Large Object)是用于存储大量文本和二进制数据的数据类型。在DELPHI中,处理这些大型对象时需要特殊的技术和策略。本篇文章将深入探讨DELPHI中...
dblink_clob字段异常解决方案 在数据库.link连接远程数据库时,经常会遇到无法使用CLOB字段的问题,这是因为CLOB字段在远程数据库中的处理方式与本地数据库不同所导致的。下面将讨论解决dblink_clob字段异常的解决...
本文主要介绍了在Java中处理Oracle数据库CLOB类型的基本方法,包括CLOB的读写操作、中文编码问题的处理以及一些额外的注意事项。通过这些知识点的学习,可以更高效地完成与Oracle数据库的交互任务。
### 读取Oracle数据库中CLOB字段的值 在处理Oracle数据库时,经常会遇到需要读取CLOB(Character Large Object)类型字段的情况。CLOB主要用于存储大量的文本数据,如文章、文档等内容。由于CLOB类型的数据量可能...
### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...
在处理Oracle数据库中的大文本数据时,CLOB(Character Large Object)类型被广泛应用于存储大量字符数据,如文章、报告或任何大型文本信息。本文将详细介绍如何有效地向Oracle数据库插入Clob大段文本,以及在操作...
修改clob blob 字段 修改clob blob 字段 修改clob blob 字段
根据给定文件的信息,本文将深入探讨如何在Java中操作Oracle数据库中的CLOB字段,包括添加和修改等操作。CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型,在处理如文章、评论等长文本时非常...
在探讨“数据库中CLOB类型转换的问题”这一主题时,我们首先需要理解CLOB(Character Large Object)数据类型的基本概念及其在数据库中的应用场景。随后,将深入分析CLOB类型转换过程中可能遇到的问题,并提供相应的...